GCM API 不提供推送通知

Posted

技术标签:

【中文标题】GCM API 不提供推送通知【英文标题】:GCM APIs not delivering push notifications 【发布时间】:2016-12-06 07:28:16 【问题描述】:

我们正在尝试使用 GCM API 向 Chrome 用户发送一些推送通知。直到3-4 几天前,向最终用户发送通知的速度为 约 60-70%。我们有1天的超时,所以没有上网的人 通知发出后大约一天,不应该得到它。

我们看到这个交付率已经急剧下降到大约 10%,我们这边没有变化。我们将消息推送到 GCM 和 API 成功返回,但消息未送达。此外,一些 我们测试池中的用户提到,尽管在线(在 Chrome),他们在发送时没有收到任何通知。 奇怪的是,他们确实在几天后收到了这些通知(甚至 设置超时后,24 小时)。

旧的 GCM API 是否有一些问题,例如延迟和交付 费率?例如,对于测试令牌,通知在 12 月 1 日 09:55 GMT 发送,并在 12 月 3 日 13:14 GMT 发送。

我们正在使用这个端点:https://android.googleapis.com/gcm/send

【问题讨论】:

似乎并不普遍。在此期间/之前你有没有改变什么? 不,我们没有改变任何东西。端点、有效负载与我们的日志相同。我可能应该编辑这个问题,提到我们正在向 Chrome 发送通知,而不是 Android。 既然你提到你这边没有变化,但还是有突发的意外行为,我认为你应该继续向GCM Support报告。 我们已将此情况报告给 GCM 支持。不过,谷歌工程师也建议在这里发帖。 我刚刚注意到您使用的是旧端点。你在使用新的https://gcm-http.googleapis.com/gcm/send时有同样的经历吗?来源here. 【参考方案1】:

所以为了简短起见,您似乎使用的是旧端点:

https://android.googleapis.com/gcm/send

就 GCM 实施而言,目前还没有任何类似的行为被报告(我一直在监控 GCM 标签,所以..是的..),但是你除非您使用建议的端点(见docs),否则无法真正保证请求的成功:

https://gcm-http.googleapis.com/gcm/send

我建议继续使用它。而且由于我们也在使用建议的实现的主题,你也应该看看使用Firebase Cloud Messaging。干杯!

【讨论】:

以上是关于GCM API 不提供推送通知的主要内容,如果未能解决你的问题,请参考以下文章

使用 GCM 推送通知发布数据

Android GCM推送通知不起作用

是否可以将现有的 GCM senderId 和 API 密钥用于 GCM To APNS 推送通知?

service-worker 可以停止 GCM api 发送的推送通知吗?

(iOS) GCM 静默推送通知以在应用程序终止时触发调用另一个 API

GCM 推送通知,其中消息从移动设备推送到 GCM 服务器