我在firebase文档中找不到任何位置,其中表明收到的令牌是唯一的。如果有人能为我指出这样的地方,我会很感激。主要问题 - 对于此类令牌,我应该在数据库中做出独特的约束。thx!
根据文档,它们是唯一的,但是您无法将它们绑定到特定设备,因为它们可能会更改。
iOS的文档:
当注册令牌可能会更改:
- 该应用程序已在新设备上恢复
- 用户卸载/重新安装应用
- 用户清除应用数据。
Android的文档:
当注册令牌可能会更改:
- 该应用程序删除实例ID
- 该应用程序已在新设备上恢复
- 用户卸载/重新安装应用
- 用户清除应用数据。
当我搜索是Google cloud Messagings传递令牌时,第一个结果是文档中的此页面,该页面说:
要验证他们可以发送和接收消息,客户端应用必须在GCM上注册。在此过程中,客户获得了唯一的注册令牌...
firebase cloud Messaging实例ID令牌唯一识别应用程序的实例。它们在全球范围内是独一无二的。
是否应该将数据库中的列标记为唯一取决于您对该列的使用。作为您自己的问题,例如:如果在这张桌子中两次出现令牌会发生什么坏事?标记列的唯一会阻止坏事发生吗?
根据我的经验,我注意到FCM令牌在三种情况下已更改为: -
- 当应用程序被卸载或重新安装时。
- 清除应用程序的数据时。
- 当应用程序安装在新设备中时。
注意: - 无法保持FCM代币相同。
是的,它们是唯一的,但不是恒定的。手段是我第一次安装一个应用程序时,然后FCM令牌是abcd
,但是当我卸载该应用程序并再次安装了同一应用程序时,我的FCM令牌不是abcd
,而是其他内容。
so, fcm令牌是唯一的,但它们不是恒定的,当我们卸载并安装应用程序时,它们一直在更改。