我有使用GCM一个应用程序的一个问题,该方案是这样的:获取GCM规范注册ID,而不发送消息
- 该应用被安装
- 应用程序调用的GCM寄存器方法获得登记ID “RID-1”
- 该应用被卸载
- 该应用被再次安装
- 应用程序调用的GCM寄存器方法再次获取的注册ID “RID-2”
在步骤5中,我需要获取以前的注册ID,以便我可以更新我的模型。
限制:
- 我试图做到这一点,而无需使用外部存储
- 当服务器发送一个消息,我不能更新模型,应在注册后完成,因为一个新的配置文件在每个新设备的应用程序中创建
我知道这些信息位于Google服务器中,因为它是在您将消息发送到旧注册ID时发送给您的。例如,如果我将消息发送到“RID-1”,在响应中我得到新的(规范)注册ID是“RID-2”。我需要的是一种在不发送消息的情况下获取这些信息的方法。
让我知道你是否需要更多的上下文。
我找到了几个相关的问题,但答案并不适用于这种情况:
Registration ID duplication for GCM
gcm canonical id should be updated or not
Persistance of gcm registration id
Google Cloud Messaging - Registration ID status
Android GCM: How to detect registered canonical ids in my own server?
Handling registration ID changes in Google Cloud Messaging on Android
(全部由@eran回答)
如果您没有将其存储在应用程序之外,则在卸载应用程序时无法将其还原。我建议你的商店RID-1在其他地方 - 一个服务器或许 – Martin
我将它存储在服务器中,并且在调用注册方法的时候有,但我无法知道“RID-1”是该特定设备的旧注册ID – pomber
您是否解决了此问题? – Ajoy