我知道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可以检查它,您需要定义一段时间以在客户端内部定期刷新它。