当多个用户使用同一设备访问同一应用程序时,如何处理Firebase注册ID(令牌)



是基于设备特性的firebase令牌ID,例如手机的IMEI、PC的MAC等?

我主要关心的是:

多个用户使用给定的设备访问同一个应用程序(想想FB(。

  1. 用户1登录到应用程序,Firebase提供一个令牌(例如FirebaseInstanceId.getInstance((.getInstanceId(((
  2. 用户1注销
  3. 用户2登录
  4. 来自#1的相同Firebase注册令牌现在将用于用户2吗

是为用户2生成了新的firebase ID,还是需要由应用程序本身手动处理?我觉得这更多的是应用程序开发人员的责任,他们监控谁登录等等,旧的注册ID被取消,而新的登录ID被生成?

只是澄清一下——我只使用Firebase云消息,而不使用Firebase的其他消息,所以我将从自己的服务器管理通知。这意味着我将把Firebase注册ID存储在我自己的数据库中,以知道要为哪个Firebase注册标识生成通知(例如,用户从另一个用户接收消息(。

根据Firebase文档:

注册令牌可能会在以下情况下更改:

  • 应用程序删除实例ID
  • 应用程序已在新设备上还原
  • 用户卸载/重新安装应用程序
  • 用户清除应用程序数据

这意味着当用户1注销时,令牌不会更改。解决方法是在用户注销时调用deleteInstanceId((。这将删除当前实例ID,并且如果启用了Firebase云消息自动初始化,则将异步生成新的实例ID。

请注意,文档中也提到这是一个阻塞函数,所以不要在主线程上调用它。

相关内容

  • 没有找到相关文章

最新更新