当app处于后台时,未使用Firebase调用didReceiveRemoteNotification

时间:2017-06-23 15:23:57

标签: ios objective-c iphone firebase

使用Firebase,我发送此JSON:

{
  "data": {
  },
  "priority": "high",
  "to": "xxxxx",
  "content-available": "true",
  "notification": {
    "body": "HI!",
    "title": "FCM Message",
    "badge": 1,
    "sound": "Default"
  }
}

但是当app在后台时,didReceiveRemoteNotification:fetchCompletionHandler不会被调用。

启用后台模式 - 来自功能的远程通知。

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

您的内容可用键/值不正确。键是content_available(下划线,不是破折号),值是布尔值,而不是字符串:

{
  "data": {
  },
  "priority": "high",
  "to": "xxxxx",
  "content_available": true,  // <= CHANGED
  "notification": {
    "body": "HI!",
    "title": "FCM Message",
    "badge": 1,
    "sound": "Default"
  }
}

请参阅Table 1 of the HTTP Server Protocol document

  

在iOS上,使用此字段表示APN中可用的内容   有效载荷。发送通知或消息并将其设置为时   是的,一个非活动的客户端应用程序被唤醒。在Android上,数据消息唤醒   默认情况下应用程序。在Chrome上,目前不支持。

答案 1 :(得分:0)

确保打开远程通知的后台模式,如果没有,则单击工作区并进入功能并打开后台模式

enter image description here 如远程通知的图像最后一个选项所示,请选中此选项