我在iOS 9.3.5上运行了一个应用程序。我需要能够在我的应用程序处于前台或后台时向其发送推送通知。我实际上并不需要包含任何数据,我只需要对应用程序执行ping操作,以便 打电话回家"。因此,我不需要/希望用户看到任何通知。
由于该公司已经在他们的Android应用中使用Firebase,我已经在iOS应用中设置了它。如果我使用有效负载中的https://fcm.googleapis.com/fcm/send
密钥向notification
发送消息,则会在iPhone上收到该消息。当我用data
键尝试时,我什么也得不到。在这两种情况下,我都会收到来自POST的success
响应。我已经实施了以下回调:
application:didReceiveRemoteNotification:
userNotificationCenter:willPresentNotification:withCompletionHandler:
applicationReceivedRemoteMessage:(FIRMessagingRemoteMessage *)remoteMessage
使用data
密钥发送邮件时,不会调用这些邮件。
编辑: 这是我正在使用的有效载荷。
{" data":{ "消息":" phonehome", }, "至" :" xxxxx" }
在做了一些更多的测试后,看起来我在应用程序位于前台而不是后台时收到了该消息。当我切换到前台时,application:didReceiveRemoteNotification:
被调用。
编辑2:添加了content_available
,这就是诀窍。谢谢!
{" to" :" xxxx"," content_available" :true}
答案 0 :(得分:1)
如果没有样本有效负载,建议有点困难,但是,请尝试将priority
参数用作high
或content_available
至true
。