与服务器同步以从GCM中丢失传入的消息

时间:2016-02-13 19:59:13

标签: android google-cloud-messaging

在我的应用程序中,我使用了GCM Receiver来通知新消息,但我的问题是,如果GCM不起作用,或者我已经强制退出应用程序,那时GCM将收到消息,但将无法唤醒我的应用程序,因为它是强制退出。即使在我强行退出应用程序后,即使在打开应用程序后,几秒钟之后我收到了所有消息

  1. 我怎么知道我是否有一些错过的消息,我可以实现一个 手动同步,但我需要同步所有消息而不是 将其与我的本地数据进行比较以获得任何更改这是有效的吗? 这样做的方法?以及在用户打开我的消息片段

  2. 之后我应该多久运行一次定期同步
  3. 我只是要做下游同步,所以我需要实现 一个syncAdapter或服务就好了

1 个答案:

答案 0 :(得分:0)

我不知道你是否遵循谷歌教程并建立了服务来接收回调,如果没有,请以这种方式实施,这是正确的方法。以下是教程:https://developers.google.com/cloud-messaging/android/start

如果您以这种方式实施,请不要担心,在每次推送时Android都会为服务提供消息。如果用户有强制退出你的应用程序甚至杀死了服务,android将在下一次推送时再次启动它。

如果您在发送邮件时设备已关闭,GCM会将其存储4周,等待它可以将信息传递给设备。

“我怎么知道我是否有一些错过的消息”

你永远不会错过任何消息,android会尝试将它传送4周。