在 Android 中升级应用程序后使用 GCM 的 RegistrationId

Posted

技术标签:

【中文标题】在 Android 中升级应用程序后使用 GCM 的 RegistrationId【英文标题】:RegistrationId with GCM after upgrade of app in Android 【发布时间】:2016-03-12 17:43:50 【问题描述】:

android 应用程序中,我通过以下代码获取了用于使用 GCM 发送推送通知的registrationId。

registrationId = gcm.register("xxxxx");

根据几个网站,当应用升级时,registrationId发生了变化。

可能是这样,但是升级后,我可以通过以前版本的registrationId发送推送通知。

所以我认为升级后不需要重新获取registrationId。

为什么我要重新获取RegistrationId,尽管之前的registrationId发送了推送通知?

【问题讨论】:

【参考方案1】:

注意:您似乎没有使用推荐的检索标识符的方法,即 InstanceID 令牌。查看this sample 的推荐用法示例。

更多关于您的问题,来自文档:

实例 ID 稳定但可能会变为无效,如果:

应用删除实例 ID 设备已恢复出厂设置 用户卸载应用 用户清除应用数据

鉴于上述应用程序更新不应导致令牌失效。

【讨论】:

以上是关于在 Android 中升级应用程序后使用 GCM 的 RegistrationId的主要内容,如果未能解决你的问题,请参考以下文章

GCM“升级”为FCM

将 com.google.android.gcm.GCMBaseIntentService 升级到 com.google.android.gms.gcm.GoogleCloudMessaging

Android GCM:通知关闭后重复推送

GCM 通知停止使用 PushSharp

推送通知是否在设置中被禁用后传递到Android手机?

在 Android 上使用 GCM 推送通知