【发布时间】:2019-04-08 19:08:21
【问题描述】:
我有一个用 fcm 实现的应用程序。我可以在所有情况下接收推送通知,效果很好。但是如果应用程序被用户终止/杀死,则不会调用didReceiveRemoteNotification。如果应用程序在后台或地面,它正在调用。应用终止通知来了,但didReceiveRemoteNotification:fetchCompletionHandler 没有来电。
我的问题是什么是触发方法应用程序被终止并收到了 firebase 通知。我使用了 Swift 4.2 和 Xcode 10.0。我启用了后台模式 - 来自功能的远程通知。
我使用 Firebase 发送这个 JSON:
{
"to": "/topics/group1",
"priority" : "high",
"content-available": true,
"notification" : {
"body" : "Yes you recevied !",
"sound": "default",
"title" : "Notification"
},
"data": {
"type" : "IOS"
}
}
【问题讨论】:
-
你开启后台获取和远程通知了吗?
-
@Pushp 是启用
-
这是预期行为。当您的应用程序被用户终止时,您的应用程序将无法接收推送通知。如果您的应用是 voip 应用,那么您可以使用 pushkit,它会在发送推送时重新启动您的应用。
-
当应用程序被杀死并收到通知时,
didReceiveRemoteNotification:fetchCompletionHandler永远不会被调用。相反,当用户点击通知时,didFinishLaunchingWithOptions会收到数据。 -
@Gamsh 你能解决这个问题吗?我遇到了类似的问题...当应用从“多任务”列表中删除时,应用无法接收远程通知。
标签: ios swift firebase firebase-cloud-messaging swift4.2