我知道registrationID
我的设备在 GCM 中不稳定,它可能在谷歌服务器上过期。
当registrationID
过期时,我应该更新它并将其发送到我的 GCM 服务器。
我的 Android 应用程序首先保存registrationID
并使用它。registrationID
如果在谷歌服务器中更新并发送到 GCM 服务器,我如何在我的 Android 应用程序中注意到它已过期?
我知道registrationID
我的设备在 GCM 中不稳定,它可能在谷歌服务器上过期。
当registrationID
过期时,我应该更新它并将其发送到我的 GCM 服务器。
我的 Android 应用程序首先保存registrationID
并使用它。registrationID
如果在谷歌服务器中更新并发送到 GCM 服务器,我如何在我的 Android 应用程序中注意到它已过期?
根据文档
Google 可能会定期刷新注册 ID,因此您应该在设计您的 Android 应用程序时理解
com.google.android.c2dm.intent.REGISTRATION
意图可能会被多次调用。您的 Android 应用程序需要能够做出相应的响应。
另请注意:
注册 ID 会一直持续到 Android 应用程序显式取消注册,或者直到 Google 为您的 Android 应用程序刷新注册 ID。
com.google.android.c2dm.intent.REGISTRATION
因此,当您收到意图时,您需要更新服务器上的注册 ID 。
你也可以在你的启动器/主活动中有一个代码来检查你是否在 GCM 上注册,如下所示
String regid = getRegistrationId(context);
if (regid.length() == 0) {
registerBackground();
}
没有这样的功能或API可以检查它,您需要定义一段时间以在客户端内部定期刷新它。