Aas*_*ute 10 mysql android push-notification google-cloud-messaging
我一直在为我的Android应用程序研究GCM.我注意到,几乎每次我的设备都有不同的GCM注册ID.我UNIQUE_KEY对GCM注册ID 的约束是否安全?并删除所有带错误NotRegistered的ID并更新所有ID canonical_ids?
Era*_*ran 12
注册ID与特定设备上运行的特定Android应用程序绑定.
(来自GCM概述)
两个不同的设备总是具有不同的注册ID.即使同一设备上的不同应用程序也有不同的注册ID.
Functionally it is safe to keep a UNIQUE_KEY constraint on the Registration ID, but since the Registration ID can be long (up to 4096 bytes, though in practice it's usually much shorter), some databases may prevent you from defining an index or constraint on such a large column. You might want to use a one way hash function that would map the Registration ID to a smaller value, store that value in a smaller column and have the constraint/index on that column.
当您收到NotRegistered错误时,您确实应该从您的数据库中删除该注册ID(或者至少将其标记为表示它处于非活动状态,并停止向其发送消息).但是,如果应用程序将重新安装在先前卸载它的设备上,那么当应用程序再次注册到GCM时,应用程序可能会获得相同的注册ID,因此您的服务器应该允许注册ID在某一时刻NotRegistered再次变为活动状态.
当您在Google的回复中获得规范注册ID时,您应该更新旧的注册ID.
| 归档时间: |
|
| 查看次数: |
5183 次 |
| 最近记录: |