Firebase 通知无法使用 FCM 服务正常工作
Posted
技术标签:
【中文标题】Firebase 通知无法使用 FCM 服务正常工作【英文标题】:Firebase notification not working properly using FCM service 【发布时间】:2018-10-30 10:52:45 【问题描述】:有时 FCM 发送消息,有时会在设备上发生或从未收到延迟。 如果 FCM 不可靠,请建议推送通知的替代方案。
【问题讨论】:
为了提高网络使用率,FCM 服务在 MessageSent() 和 SendError() 上批量响应,因此对于每条消息的确认可能不会很快 如果你在这里分享你的代码和方法会更好。 【参考方案1】:FCM 在以下设备上创建通知问题,
连接到 Xcode 的 iPhone 6 收到通知 运行 testflight 版本的 iPhone 6 收到通知 运行应用商店版本的 iPhone 6 收到通知 连接到 Xcode 的 iPhone 6 Plus 收到通知 运行 testflight 版本的 iPhone 6 Plus 收到通知运行应用商店版本的iPhone 6 Plus收到通知
iPhone X 运行 testflight 版本不接收
解决方案:
由于某种原因,iPhone X 需要有效载荷包含“通知:“title”:“xxx”,“body”:“xxx””,这没有任何意义,因为 iPhone 6 和 iPhone 6 plus 可以接收没有添加有效负载的推送通知......现在的问题是,向有效负载添加“通知”将使 ios 在收到通知后立即在托盘上显示通知,这超出了我想要传递的“无声”通知的目的。
以下是之前在 iPhone X 上不工作但在 iPhone 6 和 iPhone 6 plus 上工作的有效负载(FCM 负责添加内容可用标签):
"message": "token" : "eANw_OLOKXc:APA.....XsMg", "data" : "content" : "2546|N|495....arg|BATTERY|||||"
这是适用于 iPhone X 并在后端将优先级设置为高的那个。
"message": "token" : "eANw_OLOKXc:APA.....XsMg", "notification":"title":"xxx","body":"xxx","data" : "content" : "2546|N|495....arg|BATTERY|||||"
【讨论】:
以上是关于Firebase 通知无法使用 FCM 服务正常工作的主要内容,如果未能解决你的问题,请参考以下文章
通过向 FCM 单个设备发送通知来反应本机 Firebase iOS 生产无法正常工作