Firebase 消息传递不适用于 iOS 中的 "data" 条消息

Firebase messaging not working for "data" messages in iOS

我在 iOS 9.3.5 上有一个应用 运行。我需要能够在我的应用程序处于前台或后台时向其发送推送通知。我实际上不需要包含任何数据,我只需要 ping 应用程序,这样它就会“phone home”。所以我 need/want 用户看不到任何通知。

由于该公司已经在其 Android 应用中使用 Firebase,因此我已在 iOS 应用中进行了设置。如果我使用负载中的 notification 键向 https://fcm.googleapis.com/fcm/send 发送消息,它会在 iPhone 上接收。当我尝试使用 data 键时,我什么也没得到。在这两种情况下,我都得到了 POST 的 success 响应。我已经实现了以下回调:

application:didReceiveRemoteNotification:
userNotificationCenter:willPresentNotification:withCompletionHandler:
applicationReceivedRemoteMessage:(FIRMessagingRemoteMessage *)remoteMessage

None 在使用 data 键发送消息时被调用。

编辑: 这是我正在使用的负载。

{ "data": { "message": "phonehome", }, "to" : "xxxxx" }

在进行更多测试后,当应用程序位于前台而非后台时,我似乎收到了该消息。当我切换到前台时,会调用 application:didReceiveRemoteNotification:

编辑 2:添加了 content_available 并且成功了。谢谢!

{ "to" : "xxxx", "content_available" : true }

如果没有示例负载,建议有点困难,但是,请尝试使用 priority 参数作为 highcontent_availabletrue