在我的其中一个证书过期之前,我可以毫无问题地从 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 证书,我看到了该选项,但它是灰色的,我无法选择它。
最佳答案
这有助于理解流程。
图片由 The Firebase Blog 提供
您已经测试了 APN 发送到应用程序。所以证书没问题。
来自 the blog您已链接,通过 curl 调用获得成功响应仅意味着 FCM 正在接收消息。这并不意味着消息正在发送到 APNs。
直接使用 Firebase 通知面板发送消息,以查看 FCM 是否正在与 APNs 通信。
如果可行,则说明您的消息格式存在问题。
如果它不起作用。
确保:
消息优先级设置为
高
,因此会立即发送。"content_available": true
卸载并重新安装该应用
检查您的服务器代码。
关于ios - APNs 证书更改后,FCM 不发送推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43666638/