我对Firebase通知有一个非常大的问题;我的问题是我可以在后台模式和前台模式下接收通知,但是如果我终止它(从ram中杀死它)我什么都收不到。
我发现如果我评论这个功能
func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Messaging.messaging().apnsToken = deviceToken
}
当我在应用程序终止后重新打开应用程序时,我可以收到通知,但我无法像之前那样在后台获得通知。
有任何方法可以解决它,因为我的应用程序应该每次都收到通知:后台,前台以及何时从终止状态重新打开应用程序
以下是我的通知JSON的示例:
{
"content_available": true,
"priority": "high",
"data": {
"priority": "SILENT",
"target": "contact",
"msgBody": "",
"msgTitle": ""
},
"to": "firebase_TOKEN"
}
我还想说这个通知应该是沉默的
当应用程序被杀死时,将通过操作系统处理通知,因此需要一些特定的键来显示通知。
比如下面的例子:
{
"content_available": true,
"notification": {
"title": "has sent you a message",
"sound": "default",
"body": "Hi",
"badge": 6
},
"to": "firebase_TOKEN",
"priority": "high"
}
在这里你需要用"data"
替换"notification"
,你还需要一个"title"
而不是"msgTitle"
和"msgBody"
将被替换为"body"
。
看起来你的是一个Android有效载荷,不适用于iOS。
您必须在通知中添加"Content-available" : "1",
才能在应用程序被杀时获得推送通知。