设备重新联机时,Google Cloud Messaging(GCM)无法投放

时间:2012-10-15 19:08:13

标签: android cloud messaging offline

我正在使用GCM开发Android应用。目前我在客户端和服务器端使用标准的Google库。 如果我在两台Android设备上进行测试,无论我的应用程序是否正在运行,GCM都可以正常启动。

但是,如果设备A已关闭且我正在从设备B向其发送消息,则当设备A重新打开时,它不会接收到离线时发送的任何消息。

在服务器端(启动实际发送),每封给设备A的消息都没有collapse_keytime_to_live设置为2000000(以防出于测试目的)。实际发送的重试参数设置为50(如果GCM本身无法访问,则不太可能)。

我是否需要在设备启动时完成GCM注册程序?目前我这样做了。

请注意,GCM广播接收器和GCMIntentService已设置以及权限 在Google网站上描述的清单中。

任何建议都将不胜感激。我真的遇到了这个问题。

2 个答案:

答案 0 :(得分:1)

对不起伙计们。这都怪我。共享首选项未正确加载,导致GCMIntentService无法正常运行。消息很好。

如此解决

答案 1 :(得分:0)

  

我是否需要在设备启动时完成GCM注册程序?

不,你不是。

在我们的项目中,我们在接收设备关闭或外线时发送的消息时不会遇到任何问题。我们不会使用任何Google图书馆并完成所有操作,如gcm homepage所述。此外,我们不会为我们设置任何 collapse_key time_to_live 消息。

顺便说一下,您处理 message_type 吗?我是GCM通知您邮件已被删除