Firebase iOS 静默推送通知停止在后台传送(一段时间后)

Firebase iOS silent push notification stop to be delivered in background (after a while)

我的应用程序接收静默推送通知...如果应用程序在前台运行正常,但当移动到后台时它只接收它们一段时间(8-10 分钟)并且在大约一个小时之后没有任何消息又很少收到(8-10 分钟),又什么都没有...

我也意识到,打电话

FIRMessaging.messaging().appDidReceiveMessage(userInfo)

在后台导致此警告:

FIRMessaging receiving notification in invalid state 2

我想知道,如果这两件事不能 linked...Firebase 会在一段时间后停止发送静默推送消息,因为它们在后台收到时未得到确认???

非常感谢,简

更新:

一部分由 Firebase 支持人员回答。此警告和通知传递之间没有 link。确认仅用于分析,不用于其他用途。警告需要更正,但不会 link 解决我的问题。

更新:

我刚刚发现了这些问题,它们描述了在后台发送静默推送通知的问题:

Silent push notifications only delivered if device is charging and/or app is foreground

didReceiveRemoteNotification:fetchCompletionHandler not being called when app is in background and not connected to Xcode

那里没有明显的解决方案...至少我没有看到。

在我看来,您的应用程序已针对 FIRMessaging() 正确配置,但未针对 APN 进行正确配置。

事情是这样的:Firebase Messaging 用于在您的应用程序位于前台时发送纯数据消息。根据定义,当您的应用程序处于后台时它不起作用——如果您尝试在后台向您的应用程序发送消息,Firebase Cloud Messaging 会通过 APNs 路由您的消息,这是通过正常的 APNs-y 方法接收的,比如 application(_:didReceiveRemoteNotification:fetchCompletionHandler:)

如果您想了解有关此主题的更多信息,也许我建议您在 Firebase 博客上阅读 Debugging Firebase Cloud Messaging on iOS post。