GCM 服务器刷新注册 ID 的时间频率。如果更改了如何在我的手机中获取 regId 更改事件?
我的应用程序在第一次启动时在 GCM 上注册,并将 regId Id 存储在 Sahred Preference 文件中。然后,当用户手动完成某些事件时,它将从共享 Pref 获取 regId 并发送到我们的服务器。
我的问题是,如何在 GCM 服务器中找到刷新的 reg Id。然后只有我可以创建一个事件以在服务器上更新以更新 reg Id。
GCM 服务器刷新注册 ID 的时间频率。如果更改了如何在我的手机中获取 regId 更改事件?
我的应用程序在第一次启动时在 GCM 上注册,并将 regId Id 存储在 Sahred Preference 文件中。然后,当用户手动完成某些事件时,它将从共享 Pref 获取 regId 并发送到我们的服务器。
我的问题是,如何在 GCM 服务器中找到刷新的 reg Id。然后只有我可以创建一个事件以在服务器上更新以更新 reg Id。
请参阅http://developer.android.com/google/gcm/gs.html。
您需要按照此页面上的说明将 BroadcastReceiver 添加到您的应用程序中。然后创建一个扩展 GCMBaseIntentService 的 GCMIntentService 类。让该服务将注册 ID 上传到您的应用服务器(或将其存储在共享首选项中以备后用)。
根据http://developer.android.com/google/gcm/client.html#sample-register,与之前版本的 GCM 和 C2DM 不同,Google 本身不会刷新注册。一旦您从初始注册中获得注册 ID,您就可以开始了,除了一种情况:当用户升级到新版本时,您仍然需要重新注册(这种情况也在上面链接中的示例中处理)。
当应用程序更新时,它应该使其现有的注册 ID 无效,因为不能保证它可以与新版本一起使用。因为更新应用程序时没有调用生命周期方法,所以实现此验证的最佳方法是在存储注册 ID 时存储当前应用程序版本。