有时一些 android 用户没有通过 GCM 收到推送通知

Posted

技术标签:

【中文标题】有时一些 android 用户没有通过 GCM 收到推送通知【英文标题】:Sometimes some android users are not getting push notification through GCM 【发布时间】:2016-12-05 06:00:35 【问题描述】:

当我们尝试使用 GCM 向 android 用户发送推送通知时,一些用户没有收到推送通知,但是当我们对消息 ID 进行故障排除时,它显示从客户端应用程序到 GCM 已确认但未显示在他们的通知抽屉上。

请帮助我们解决这个问题。

【问题讨论】:

【参考方案1】:

发生这种情况的原因有很多。您可能需要确保按照SO thread 中的说明正确配置 GCM 设置:

    确保您正确设置了从 Google 收到的 SENDER ID。 确保您的设备已正确注册到 Google 的 GCM 服务。 确保将推送发送到您从 Google 收到的正确 reg id。并且您没有收到来自 Google 的错误 GCM 服务。 您是否设置了 delay_while_idle = 1?这意味着如果设备处于空闲状态(关闭、离线、锁定屏幕等),消息将不会到达设备。 如果您希望您的唤醒锁定权限有所作为,请将其更改为 delay_while_idle = 0。请在此处阅读更多内容。 有时推送到达需要一些时间(但永远不会有太多时间,那么就会出现问题)。检查什么是“生存时间” push 你已经发送了。

同样值得一试的是this blog,它试图解决同样的问题。以下是概述的原因:

    用户可以在操作系统级别阻止通知 设备特定问题 由于网络问题,用户未连接到 GCM 在通知发送前生存时间到期 与 GCM 将令牌标记为非活动状态的差距

【讨论】:

以上是关于有时一些 android 用户没有通过 GCM 收到推送通知的主要内容,如果未能解决你的问题,请参考以下文章

通过 GCM 在 Android App 中推送通知

通过 Internet 通知 Android 设备,无需 gcm

GCM(谷歌云消息)无法覆盖所有注册用户?

GCM 客户端收不到下游消息

长时间未打开应用,收不到 GCM 推送通知

回滚/取消 android-gcm 通知