使用 Google FCM v1 API 时,是啥导致消息未发送到设备?

Posted

技术标签:

【中文标题】使用 Google FCM v1 API 时,是啥导致消息未发送到设备?【英文标题】:What makes message not delivered to device when using Google FCM v1 API?使用 Google FCM v1 API 时,是什么导致消息未发送到设备? 【发布时间】:2018-07-09 15:59:16 【问题描述】:

我正在使用 Firebase Cloud Messaging v1 构建推送通知服务。我们使用 2 种方式,通过令牌和主题。但是在这两种方式中,wa 都有问题,服务器的响应返回 200,好的,但是,我们的一些设备收到了消息,有些没有(即使它从服务器收到了 200 响应代码)。通常,我们 100% 的设备都会收到通知,但有时会发生上述缺失的问题,我不知道是什么原因。那么是什么让消息迟到了,或者我做错了什么?

谢谢!

p/s:我的系统使用的是 java。

【问题讨论】:

【参考方案1】:

您要发送到的某些设备可能在发送时处于离线状态。

请注意,来自 FCM 的 200 响应是确认 FCM 已成功接收到发送请求。 FCM 将尝试向所有目标设备发送消息,但如果一个或多个目标设备未连接,则 FCM 将无法发送消息。

如果您确定设备在线但仍未收到消息,那么我会向Firebase support 提交票证。

【讨论】:

是的,我明白你的意思,但是我所有的设备都连接到互联网,所以我认为我们不能说这是离线问题,我的令牌列表太小了,只有 5 个或6. 很酷,在这种情况下,您应该提交一份包含更多详细信息的支持票,例如:5 个设备令牌中的每一个以及您发送消息时收到/未收到的数量、您的发件人 ID 和其他相关信息.他们应该能够追踪问题。

以上是关于使用 Google FCM v1 API 时,是啥导致消息未发送到设备?的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 中的 FCM 令牌是啥?

FCM推送是啥?海外推送只用FCM可以吗?

使用 REST api 发送通知

哪个版本的gcm服务器用于gcm -fcm迁移

在Android中获取FCM消息令牌的正确方法是啥?

TensorFlow 问题 google colab ; tensorflow._api.v1.compat.v2' 没有属性 '__internal__