使用新的HTTP v1 API时,Firebase数据消息未传递到iOS

Mic*_*zka 16 push-notification ios firebase firebase-cloud-messaging

Firebase支持通知消息数据消息.

数据消息不会触发可视通知,并且当应用程序位于前台时由客户端(iOS App)处理.然后使用Firebase和iOS App之间的直接通道完成通信 - 无需使用Apple推送通知服务(APNS).

当我们使用旧版FCM HTTP协议时,一切正常,但在使用新的HTTP v1 API时,数据消息不会传递到iOS客户端.

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

我们尝试使用以下方法与Firebase Cloud Messaging连接:

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

以上都不会导致将数据消息传递到iOS客户端.此类消息仅在使用传统HTTP协议发送时传递.

为了更有趣,使用HTTP v1 API(新)发送的数据消息已成功传送到Web JavaScript客户端,因此这意味着它们受支持.它们也用于样品中.我们还没有尝试过Android客户端.

jbg*_*jbg 5

来自 Firebase Cloud Messaging文档中有关处理直接 FCM 通道消息的信息

注意:要以这种方式使用 FCM 直接通道,您必须使用旧版 HTTP API 发送消息。HTTP v1 API 对发送到 iOS 设备的所有消息使用 APN。请参阅FCM 服务器协议

  • 他们确实应该更清楚地表明,如果使用 http v1 api 发送,则通过 APN 发送到 iOS 的纯数据消息只会被丢弃,并且无论如何 api 都会返回成功。 (6认同)