是基于设备特征的Firebase令牌ID,例如电话的IMEI,PC的MAC等。?
我主要关心的是以下问题:
多个用户使用给定的设备访问相同的应用程序(Think FB)。
是为用户2生成了新的Firebase ID,还是需要由应用程序本身手动处理? 我觉得这是应用程序开发人员的责任,他们监视谁登录等等,并且旧的注册ID被取消,而为此新的登录生成新的ID?
请澄清一下-我只使用Firebase Cloud Messaging,而没有使用Firebase,因此我将通过自己的服务器管理通知。这意味着我将把Firebase注册ID存储在我自己的数据库中,以知道要为哪个Firebase注册ID生成通知(例如,某个用户从另一个用户收到消息)。
答案 0 :(得分:3)
在以下情况下,注册令牌可能会更改:
- 该应用程序删除实例ID
- 该应用已在新设备上还原
- 用户卸载/重新安装应用程序
- 用户清除应用数据。
这意味着当用户1注销时令牌不会更改。一种解决方法是在用户注销时调用deleteInstanceId()。如果启用了Firebase Cloud Messaging自动初始化,则会删除当前的实例ID,并异步生成一个新的实例ID。
请注意,docs还提到这是一个阻塞函数,因此请勿在主线程上调用它。