我有一个(Nativescript)iOS客户端应用,它应该能够接收Firebase发送的推送通知。它实际上在应用程序位于前端时接收数据,但正如文档所述,iOS应检测传入通知(当应用程序在后台时)并显示通知。
这最后一部分似乎不起作用。我尝试了很多,但无法弄清楚这里发生了什么。
我使用Firebase控制台发送通知。这里我的iPhone上什么都没发生,没有声音,没有徽章,什么都没有! 虽然Firebase声称一切正常但......?
有人能帮助我吗?
好的,所以我想我不是非常具体,所以让我在下面添加一些代码。
我将此代码发布到Firebase(https://fcm.googleapis.com/fcm/send)以触发推送通知:
Content-Type:application/json
Authorization:key=[MY_KEY_HERE]
{
"to" : "[FIREBASE_DEVICE_ID_HERE]",
"priority": "high",
"notification" : {
"body" : "Howto write a great body?",
"title" : "Some title...",
"sound" : "default"
}
}
正如您所看到的,这是一条通知消息,而不是数据消息,因此它应该触发iOS上的弹出窗口,徽章,声音等等。 .right?
正如我之前提到的,我能够收到这个json数据,但前提是我的应用程序位于前台...所以Firebase-device-id绝对正确,也是授权密钥。
我还应该尝试什么?
答案 0 :(得分:0)
也许您正在使用此类命令与Firebase断开连接
[[FIRMessaging messaging] disconnect];
您能告诉您是否可以通过计算机(没有Firebase)通过APNS发送消息吗?可以在本教程https://www.raywenderlich.com/123862/push-notifications-tutorial中的某处找到发送此类消息的示例文件。
答案 1 :(得分:0)
应用程序处于后台时不显示FCM数据消息:
On iOS, FCM stores the message and delivers it only when the app is in the foreground and has established a FCM connection.
确保感知通知而不是数据消息