2016-01-23 82 views
0

建议使用android云备份来备份GCM ID吗?我将GCM ID存储在sharedpreferences中,因此我不必继续注册。我应该使用谷歌云备份GCM注册ID吗?

如果我备份这个GCM sharedpref和用户更改设备,我是否需要将其更新为新的注册ID?注册ID设备是否特定?用户更换设备并备份时会发生什么?

我试图从docs阅读:

您必须排除任何设备特定标识,或者由服务器发出或产生的设备上。这包括Google云消息传递(GCM)注册令牌,该令牌在还原到其他设备时可以使您的应用在该设备上无法接收GCM消息。

+0

这是一个设计选择。您可能希望将其存储在'SharedPreferences'中,存储在文件或SQLite数据库中。这真的取决于应用程序以及您试图用它来完成什么。您可能会尝试查看此堆栈溢出故障单:http://stackoverflow.com/questions/16838654/handling-registration-id-changes-in-google-cloud-messaging-on-android –

回答

0

从文档,我发现我的答案,这不应该做的原因是,它可以在GCM的应用intialization intrefer,它不会尝试获取GCM ID,如果它已经从一个新的设备恢复恢复了旧的注册ID。

Handle Google Cloud Messaging

对于使用谷歌云消息传递(GCM)推送通知的应用, 备份注册标记,谷歌云端通讯 注册返回可引起通知 为还原应用程序意外行为。这是因为当用户在 上安装新设备时,应用程序必须向GCM API查询新的注册 令牌。如果旧注册存在,因为系统有 支持并恢复它,应用程序不会查找新的令牌。若要 防止出现此问题,请从 排除备份文件集中的注册令牌。