在我的一个证书过期之前,我没有将从FCM发送推送通知到我的iOS应用程序的问题 . 更改后,FCM不再提供消息 . 我读了这篇文章(https://firebase.googleblog.com/2017/01/debugging-firebase-cloud-messaging-on.html),这是我到目前为止所经历的验证步骤,但现在我正在敲打我的头...
-
注释掉任何connectToFCM函数
-
已下载Pusher并成功使用APNs证书向设备发送通知
-
成功地对FCM进行了卷曲调用(下面的回复)
-
{"multicast_id":7774794018682407760,"success":1,"failure":0,"canonical_ids":0,"results":[{_ "message_id":"0:1493321644068397%b76e8527b76e8527"}]}
-
尝试重新创建开发和 生产环境 证书
-
尝试使用和不使用密码从钥匙串导出它们
任何人都有这种超级令人沮丧的事情的经验,并就如何进行提出建议?
同样值得注意的是我无法删除APNs证书,我看到了选项,但它显示为灰色,我无法选择它 .
3 回答
这有助于理解流程 .
图片由Firebase博客提供
您已经测试过APN发送给应用程序 . 所以证书很好 .
从您链接的the blog,通过进行卷曲呼叫获得成功的响应意味着FCM正在接收该消息 . 这并不意味着消息正在传递给APN .
使用Firebase通知面板直接发送消息,以查看FCM是否正在与APN进行通信 .
如果可行,则表示您的邮件格式存在问题 .
如果它不起作用 .
确保:
消息优先级设置为
high
,因此会立即发送 .“content_available”:是的
卸载并重新安装应用程序
检查您的服务器代码 .
您可以创建一个APNs密钥,并将其用于所有应用程序,而不是使用APNS证书进行推送通知 .
APN使用Apple推送通知服务来处理您的通知请求 . 一键用于所有应用 . 有关更多信息,请参阅“本地和远程通知编程指南” .
甚至FCM都支持这一点 . 现在,您可以避免为每个应用程序ID创建APNS证书 .
请在YourProjectSetting => cloudmessaging => iOS app配置中更新您的APNs证书( 生产环境 和开发) . Firebase Cloud Messaging可以使用APNs身份验证密钥或APNs证书来连接APN
HTTP POST请求:用于发送通知 .
在
AppDelegate.swift
中添加以下代码参考:https://firebase.google.com/docs/cloud-messaging/ios/device-group
希望这会帮助你 .