我在firebase文档中找不到任何地方,表示收到的令牌是唯一的。如果有人能指出我这样的地方,我将不胜感激。主要问题 - 我应该在数据库中为这些令牌制定唯一约束。 THX!
答案 0 :(得分:4)
根据文件记录,它们是唯一的,但您无法将它们绑定到特定设备,因为它们可能会发生变化。
注册令牌可能会在以下情况下发生变化:
- 该应用已在新设备上恢复
- 用户卸载/重新安装应用
- 用户清除应用数据。
注册令牌可能会在以下情况下发生变化:
- 该应用删除实例ID
- 该应用已在新设备上恢复
- 用户卸载/重新安装应用
- 用户清除应用数据。
答案 1 :(得分:1)
当我搜索Are Google Cloud Messaging tokens unique时,第一个结果是this page from the documentation,其中包含:{/ p>
要验证他们是否可以发送和接收消息,客户端应用必须向GCM注册。在此过程中,客户端获取唯一的注册令牌......
Firebase云消息传递实例ID令牌可唯一标识应用的实例。它们是全球独一无二的。
是否应将数据库中的列标记为唯一,具体取决于您对该列的使用情况。正如你自己的问题:如果在这张表中有两次令牌,会发生什么坏事?标记列是否唯一可以防止坏事发生?
答案 2 :(得分:1)
根据我的经验,我注意到 FCM 令牌在以下三种情况下发生了变化:-
注意:- 无法保持 FCM 令牌相同。