我对在我的应用程序中实现推送通知功能的C2DM很感兴趣。然而,当我阅读https://developers.google.com/android/c2dm/#lifecycle文档时,它指出:“请注意,谷歌可能会定期更新注册ID,因此您在设计应用程序时应了解注册意图可能会被多次调用。您的应用程序需要能够做出相应的响应。”
当Google刷新注册ID时,如果设备没有连接怎么办?当然,不会调用注册意图。Google是否会再次尝试刷新注册ID?如果没有,设备如何知道Google更新了注册ID?
谢谢,
Rendy
发布于 2012-05-07 21:25:32
来自谷歌C2DM服务器的每一条消息都会被放入一个队列,然后发送到设备上。因此,如果设备离线(不可用),服务器将反复尝试将其推送到设备。尽管谷歌不能保证这一点,但在大多数情况下,它工作得很好(你可以通过向离线设备发送消息,并在几个小时后将其连接到互联网来亲自尝试。您应该会收到您的消息)。
注册ID也是如此,如果Google不能设法将新的注册ID发送到设备,它将定期尝试发送,直到成功。现在的问题是:在它成功之前,旧的注册ID仍然有效吗?它应该是,但我真诚地不能保证这一点。
https://stackoverflow.com/questions/10291432
复制相似问题