【问题标题】:When app is in background didReceiveRemoteNotification not called with Firebase当应用程序处于后台时,没有使用 Firebase 调用 didReceiveRemoteNotification
【发布时间】:2017-06-23 15:23:56
【问题描述】:

我使用 Firebase 发送这个 JSON:

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

didReceiveRemoteNotification:fetchCompletionHandler 在应用处于后台时不会被调用。

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

有什么建议吗?

【问题讨论】:

    标签: ios objective-c iphone firebase


    【解决方案1】:

    您的 content-available 键/值不正确。键是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 上,目前不支持。

    【讨论】:

    • 这是 Firebase 生成的!在服务器端,您设置 ContentAvailable 属性和由 Firebase 库控制的名称。
    【解决方案2】:

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

    如图所示,远程通知的最后一个选项选中此选项

    【讨论】:

      猜你喜欢
      • 2020-05-09
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 2020-01-25
      • 2017-11-06
      • 1970-01-01
      • 2015-07-07
      • 2017-03-10
      相关资源
      最近更新 更多