我正在我的服务器上实现 GCM 处理程序。 Google 是否为每个设备或每个用户颁发新的注册 ID?我知道他们为每个应用程序版本和用户颁发一个新 ID,但这是否会扩展到用户安装了该应用程序的每台设备?
最终,我问这个问题是因为我想知道应该如何存储用户的应用程序向我的服务器端发送的注册 ID。
现在我已经实现了,最近发送的 ID 是用户唯一的注册 ID,但我不确定这是否是对 GCM 如何处理注册 ID 进行建模的错误方法。我倾向于认为这是不正确的,我必须根据某些标准保留许多 ID 的记录。
如有任何意见,我们将不胜感激。
最佳答案
基本上,GCM 会为每个安装了应用程序的设备颁发一个新的注册 ID。为了回答您的问题,每台设备 1 个注册 ID。
GCM 对您自己的用户一无所知,因此,如果用户 X 和 Y 使用同一设备,则由您来实现如何筛选发送给用户 X 和 Y 的消息的逻辑。
这是来自 docs 的内容:
A registration ID isn't associated with a particular logged in user. If you unregister and then re-register, GCM may return the same ID or a different ID—there's no guarantee either way. To make sure that messages go to the intended user:
- Your app server can maintain a mapping between the current user and the registration ID.
- The app can then check to ensure that messages it receives match the logged in user.
最后一个项目符号中的整个“匹配”概念就是我所说的筛选的意思。
关于android - Google Cloud Messaging (GCM) 为每个设备和用户发放多少个注册 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29870967/