Mur*_*rat 6 android canonical-link google-cloud-messaging
我们有一个使用GCM的应用.当用户首次打开应用程序时,应用程序会检查共享首选项以查看用户是否先前已注册.如果注册ID不是从GCM获取并存储到共享首选项.还有一个第三方服务器,其中存储了用户ID和注册ID.我阅读并实现了以下针对规范id问题的案例:
作为开发人员,我们在数据库中存储了许多注册ID.因为我们经常卸载并安装应用程序.通常用户不会这样做.然后我们考虑使用设备ID作为设备的唯一ID,并检查用户是否先前注册过.可以使用Android设备ID吗?我应该考虑什么来防止设备的多个注册ID?这些多个注册ID会导致多次推送到Android设备.多个注册ID主要由以下原因引起:
处理规范ID的最佳做法是什么?
为了处理用户卸载并重新安装应用程序(或清除应用程序数据)的情况,我会将用户 ID(或用于识别特定设备上的应用程序实例的任何标识符)存储在外部存储中装置。当用户卸载应用程序或清除应用程序数据时,此存储不会被擦除(用户仍然可以手动删除它,但您对此无能为力)。
然后,当您启动应用程序时,如果共享首选项中没有用户数据,您将尝试从外部存储中恢复它。仅当外部存储中不可用时,您才认为这是应用程序在新设备上的新安装并注册到 GCM(此外,还建议您在应用程序的新版本发布时重新注册到 GCM)安装)。
如果客户端的所有这些处理都失败,只要您在 Google 的响应中获得规范的注册 ID,您仍然有机会从服务器中删除重复的注册 ID。
| 归档时间: |
|
| 查看次数: |
900 次 |
| 最近记录: |