7

我正在使用 GCM 开发 Android 应用程序。目前我在客户端和服务器端使用标准的谷歌库。如果我在两台 Android 设备上进行测试,无论我的应用程序是否正在运行,当两台设备都打开时 GCM 都能正常工作。

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

在服务器端(启动实际发送),到设备 A 的每条消息都没有collapse_key,time_to_live设置为2000000(以防万一)。实际发送将重试参数设置为50(以防 GCM 本身无法访问,但这不太可能)。

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

请注意 GCM 广播接收器和 GCMIntentService 以及清单中的权限已按照 Google 网站的说明进行设置。

任何建议将不胜感激。我真的被这个问题困住了。

4

2 回答 2

1

对不起大家。是我的错。共享首选项未正确加载,导致 GCMIntentService 运行不正常。消息正常。

解决了

于 2012-10-16T10:37:33.960 回答
0

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

不,你没有。

在我们的项目中,我们在接收设备关闭或离线时发送的消息时没有任何问题。我们不使用任何谷歌库,并按照gcm 主页所述完成所有操作此外,我们没有为我们的消息设置任何collapse_keytime_to_live

顺便说一句,你处理message_type吗?我的 be GCM 通知您消息已删除

于 2012-10-16T07:18:48.667 回答