Moh*_*fez 43 android android-notifications google-cloud-messaging
我知道C2DM注册过期,您应该定期刷新注册ID.这是GCM的情况吗?通过查看Android GCM指南中的以下代码(如下所示),看起来你只做了一次并且不需要刷新,但我没有看到明确写在任何地方,所以我只是想检查.
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
GCMRegistrar.register(this, SENDER_ID);
} else {
Log.v(TAG, "Already registered");
}
Run Code Online (Sandbox Code Playgroud)
Moh*_*fez 41
编辑:这个答案是在日期之前,我没有想到当前的行为是什么
我自己找到了答案.根据文档中的示例,您不需要一直重新注册,只需重新注册一次.
此外,与之前版本的GCM和C2DM不同,Google本身现在不会刷新注册本身:一旦您从初始注册获得注册ID,您就可以去了,除了一个案例:您仍需要重新注册用户升级到新版本(此案例也在上面链接的示例中处理):
更新应用程序时,它应使其现有注册ID无效,因为不能保证它与新版本一起使用.由于在更新应用程序时没有调用生命周期方法,因此实现此验证的最佳方法是在存储注册ID时存储当前应用程序版本.
Iñi*_*igo 10
我认为它最终会更新,是的.来自官方文档:
现有注册ID可能在多种情况下不再有效,包括:如果应用程序通过发出com.google.android.c2dm.intent.UNREGISTER意图手动取消注册.如果应用程序自动取消注册,则可能会发生(但不保证)用户卸载应用程序.如果注册ID到期.Google可能决定刷新注册ID.对于所有这些情况,您应从第三方服务器中删除此注册ID,并停止使用它来发送消息.错误代码为NotRegistered时发生.
这可能发生在来自第三方服务器的GCM请求中,该服务器返回带有错误未注册设备的json响应.
一旦发生这种情况,您需要刷新相应的ID.
http://developer.android.com/guide/google/gcm/gcm.html
归档时间: |
|
查看次数: |
36452 次 |
最近记录: |