OGeek|极客世界-中国程序员成长平台

标题: ios - Firebase SDK 未提供后台通知 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 17:07
标题: ios - Firebase SDK 未提供后台通知

我正在尝试使用 Firebase 向我的应用发送后台推送通知。 iOS 可以正常显示通知,但我的 AppDelegate 上没有调用 -application:didReceiveRemoteNotification:fetchCompletionHandler:

当设备连接到调试器时,当设备收到通知时,我会收到以下日志消息。

2016-07-27 15:13:08.234: FIRMessaging receiving notification in invalid state 2

2016-07-27 15:13:08.234 MyApp[2513:1130209] Warning: Application delegate received call to -application:didReceiveRemoteNotification:fetchCompletionHandler: but the completion handler was never called.

在我看来,Firebase 正在调整 -application:didReceiveRemoteNotification:fetchCompletionHandler: 但未能调用我的实现,因为它认为应用程序处于无效状态,但事实并非如此。 p>

通知负载也没有什么特别之处,会导致问题。

{
    gcm.message_id: 0:1469652824137045%3aef914a3aef914a, 
    objectId: 7,
    aps: {
        alert: "Your object has been updated"
        content-available: 1
    }
}

为什么 Firebase 说应用处于无效状态并且无法将通知转发到我的 AppDelegate



Best Answer-推荐答案


我认为您可能误解了该错误 - 发生此错误是因为您的应用的 didReceiveRemoteNotification 处理程序 正在 被调用。

问题可能是在您的 didReceiveRemoteNotification 处理程序中,您需要确保使用正确的 UIBackgroundFetchResult 类型调用 completionHandler。 (如果你使用 Swift,它可能看起来像 completionHandler(.NewData)。)

这基本上是您的应用在向其发送远程通知时让 iOS 知道它已完成您希望它执行的任何工作的方式。如果您不这样做,iOS 将会对您的应用不满意,并可能在未来停止向其转发通知。

关于ios - Firebase SDK 未提供后台通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38623433/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4