在Swift上推送通知

时间:2019-02-25 13:22:27

标签: ios swift firebase notifications firebase-cloud-messaging

我的Firebase Notifications有一个很大的问题; 我的问题是我可以在后台模式和前台模式下接收通知,但是如果终止通知(从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"

}

我也想说这个通知应该保持沉默

2 个答案:

答案 0 :(得分:2)

您必须要求在通知中添加"Content-available" : "1",才能在应用程序终止时获得推送通知。

答案 1 :(得分:2)

应用被终止后,通知将通过操作系统处理,因此它需要一些特定的键才能显示通知。

请考虑以下示例:

{

"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"将会替换为{{1} }。

看起来您的是一个Android负载,无法在iOS上运行。