【发布时间】:2016-10-12 17:00:24
【问题描述】:
我有一个在 iOS 9.3.5 上运行的应用程序。当我的应用程序处于前台或后台时,我需要能够向它发送推送通知。我实际上不需要包含任何数据,我只需要 ping 应用程序,它就会“phone home”。所以我不需要/不希望用户看到任何通知。
由于该公司已经在他们的 Android 应用中使用 Firebase,我已经在 iOS 应用中进行了设置。如果我使用有效负载中的notification 键向https://fcm.googleapis.com/fcm/send 发送消息,则它会在iPhone 上收到。当我改用data 键尝试它时,我什么也得不到。在这两种情况下,我都会收到来自 POST 的 success 响应。我已经实现了以下回调:
application:didReceiveRemoteNotification:
userNotificationCenter:willPresentNotification:withCompletionHandler:
applicationReceivedRemoteMessage:(FIRMessagingRemoteMessage *)remoteMessage
使用data 键发送消息时不会调用这些。
编辑: 这是我正在使用的有效负载。
{ “数据”:{ “消息”:“电话之家”, }, “到”:“xxxxx” }
在进行更多测试后,当应用程序处于前台而不是后台时,我似乎收到了该消息。当我切换到前台时,application:didReceiveRemoteNotification: 会被调用。
编辑 2:添加了 content_available,这就成功了。谢谢!
{ "to" : "xxxx", "content_available" : true }
【问题讨论】:
-
猜猜我的建议奏效了。我删除了我的评论并对其进行了一些修改并将其添加为答案。
标签: ios firebase firebase-cloud-messaging firebase-notifications