设备上未收到 Firebase iOS 通知

问题描述 投票:0回答:2

我们有两种 Firebase 通知,一种带有

notification
字段,一种没有(系统使用该字段显示横幅)。

总是会收到with,而without则在某行尝试后收到,然后停止接收。

这些是有效负载:

总是收到的:

{
  "content_available": true,
  "data": {
    "pushCategory": "ALEXA",
    "body": "body",
    "message": "message",
    "title": "status/update",
    "updateStatus": {
      "operationId": "7fc0e1ff-cc0d-4045-8b30-69710bf80c24",
      "status": 0,
      "action": "makecoffee",
      "description": "",
      "stock": {
        "remaining": "91",
        "threshold": "10",
        "depletion": false
      }
    }
  },
  "notification": {
    "title": "title",
    "body": "body msg"
  },
  "apns": {
       "headers": {
         "apns-priority": "10"
       }
    },
  "to": "----"
}

未随机收到的:

{
  "content_available": true,
  "data": {
    "pushCategory": "ALEXA",
    "body": "body",
    "message": "message",
    "title": "status/update",
    "updateStatus": {
      "operationId": "7fc0e1ff-cc0d-4045-8b30-69710bf80c24",
      "status": 0,
      "action": "makecoffee",
      "description": "",
      "stock": {
        "remaining": "91",
        "threshold": "10",
        "depletion": false
      }
    }
  },
  "apns": {
       "headers": {
         "apns-priority": "10"
       }
    },
  "to": "----"
}

始终会收到直接使用 APNS 服务器且没有

alert
字段的等效通知。 (
alert
字段是告诉系统显示横幅的字段)

我联系了 Firebase 支持人员,但问题仍然存在,您知道可能是什么问题吗?

ios firebase push-notification firebase-cloud-messaging
2个回答
0
投票

我从未使用过 Firebase。 我不确定您的有效负载中的

apns-priority
是否有效果。我只是不知道:

  "apns": {
       "headers": {
         "apns-priority": "10"
       }
    },

我认为你必须摆脱它并只使用

priority
字段本身。让 Firebase 映射字段本身...

Firebase 文档,查找

priority
参数的描述以及
data
notification
的不同行为:

设置消息的优先级。有效值为“正常”并且 “高的。”在 iOS 上,这些对应于 APN 优先级 5 和 10。

默认情况下,通知消息以高优先级发送,并且 数据消息以正常优先级发送。正常优先级优化 客户端应用程序的电池消耗,应该使用,除非 需要立即交货。 对于具有正常优先级的消息, 应用程序可能会以未指定的延迟接收消息。

当发送高优先级消息时,立即发送,并且 该应用程序可以显示通知。

带有

data
的负载最终的 firebase 优先级为“正常”,转换为
apns-priority
5

对于

notification
firebase 优先级“高”转换为
apns-priority
为 10

有关 apns-priority 的更多信息,请参阅 apns-docs

通知的优先级。如果省略此标头,APNs 将设置 通知优先级为10。

指定10立即发送通知。

指定5根据功率考虑发送通知 用户的设备。


0
投票

如果消息不包含通知字段,即使优先级设置为 10,iOS 也可能会忽略它。这是因为优先级:10 适用于立即向用户显示的通知。对于纯数据消息,iOS 将其视为较低优先级,尤其是当应用程序位于后台时。为了确保交付,请添加通知字段以使其成为面向用户的通知。

© www.soinside.com 2019 - 2024. All rights reserved.