ios - APNs 证书更改后,FCM 不发送推送通知

标签 ios firebase apple-push-notifications firebase-cloud-messaging

在我的其中一个证书过期之前,我可以毫无问题地从 FCM 向我的 iOS 应用程序发送推送通知。更改后,FCM 不再传递消息。我阅读了这篇文章 ( https://firebase.googleblog.com/2017/01/debugging-firebase-cloud-messaging-on.html ),这里是我到目前为止已经完成的验证步骤,但现在我正在用头撞墙...

  • 注释掉任何 connectToFCM 函数
  • 已下载 Pusher 并成功可以使用 APNs 证书向设备发送通知
  • 成功地向 FCM 发出 curl 调用(响应如下)
    • {"multicast_id":7774794018682407760,"成功":1,"失败":0,"canonical_ids":0,"结果":[{"message_id":"0:1493321644068397%b76e8527b76e8527"}]}<
  • 尝试重新创建开发和生产证书
  • 尝试使用和不使用密码从钥匙串(keychain)中导出它们

有没有人有过这种 super 令人沮丧的事情的经验,并且对如何进行有建议?

同样值得注意的是,我无法删除 APNs 证书,我看到了该选项,但它是灰色的,我无法选择它。

最佳答案

这有助于理解流程。

enter image description here
图片由 The Firebase Blog 提供

您已经测试了 APN 发送到应用程序。所以证书没问题。

来自 the blog您已链接,通过 curl 调用获得成功响应仅意味着 FCM 正在接收消息。这并不意味着消息正在发送到 APNs。

直接使用 Firebase 通知面板发送消息,以查看 FCM 是否正在与 APNs 通信。

如果可行,则说明您的消息格式存在问题。

如果它不起作用。

确保:

  1. 消息优先级设置为,因此会立即发送。

  2. "content_available": true

  3. 卸载并重新安装该应用

  4. 检查您的服务器代码。

关于ios - APNs 证书更改后,FCM 不发送推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43666638/

相关文章:

ios - 在 Realm 中存储数据有什么限制吗?

javascript - 为什么使用 Android HTTP 请求触发器多次调用此 Cloud Function?

typescript - 如何使用带有更新的 FirestoreDataConverter?

javascript - window.safari.pushNotification.requestPermission 始终返回 "denied"

ios - 苹果推送通知的分发和开发的区别

ios - 快速从另一个类访问 IBOutlet

ios - 向 GMSMapView(谷歌地图)添加一些按钮并更改图像按钮

ios - 如何在 Swift 中包含服务器端时间戳

ios - 仅使用生产证书时无法注册推送通知

ios - 隐藏 UITableview 单元格