【问题标题】:Firebase Data messages not delivered to iOS when using new HTTP v1 API使用新的 HTTP v1 API 时,Firebase 数据消息未传递到 iOS
【发布时间】:2019-01-29 22:43:15
【问题描述】:

Firebase 支持通知消息数据消息

数据消息不会触发视觉通知,并在应用程序处于前台时由客户端(iOS 应用程序)处理。 然后使用 Firebase 和 iOS 应用程序之间的直接通道进行通信 - 不使用 Apple 推送通知服务 (APNS)。

当我们使用Legacy FCM HTTP Protocol 时一切正常,但是当使用新的HTTP v1 API 时,数据消息不会传递到 iOS 客户端。

通知消息(甚至包括数据)可以通过 APNS 很好地传递。

我们已尝试使用以下方式与 Firebase 云消息传递接口:

  • 管理 FCM API(Java 和 Node.JS SDK)
  • 使用 OAuth2 令牌将 HTTP 请求直接发送到 HTTP v1 API

以上都不会导致数据消息被传递到 iOS 客户端。此类消息仅在使用旧版 HTTP 协议发送时才会传递。

为了让事情更有趣 使用 HTTP v1 API(新)发送的数据消息已成功传递到 Web JavaScript 客户端,因此这意味着它们受到支持。它们也用于samples。安卓客户端没试过。

【问题讨论】:

  • 您找到解决方法了吗?他们也可以很好地发送到android。这对 android 来说不是问题,因为它与通知一样交付在同一个地方。

标签: ios firebase push-notification firebase-cloud-messaging


【解决方案1】:

来自 Firebase 云消息docs on handling direct FCM channel messages

注意:要以这种方式使用 FCM 直接通道,您必须发送 使用旧版 HTTP API 的消息。 HTTP v1 API 使用 APNs 发送到 iOS 设备的消息。见FCM server protocols

【讨论】:

  • 他们确实应该更清楚地表明,如果使用 http v1 api 发送仅数据消息通过 APN 发送到 iOS 并且该 api 无论如何都会返回成功,则该消息只会被丢弃。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-19
  • 2020-07-16
  • 1970-01-01
  • 2022-06-21
  • 2020-06-16
  • 2018-11-21
  • 2020-10-21
相关资源
最近更新 更多