【问题标题】:Is FCM (firebase cloud messaging) Token for one device or for one account?FCM(firebase 云消息传递)令牌是用于一台设备还是一个帐户?
【发布时间】:2016-10-08 05:11:01
【问题描述】:

当用户注册到应用程序时,我想将 FCM 令牌存储在数据库中的我的 android 应用程序用户表中。当我想向特定用户发送通知时,我将从相应行获取令牌并发送推送通知。但我很困惑,每当应用程序用户从他的应用程序注销并从同一设备注册新帐户时,就会有两行,因此数据库上同一设备的两个令牌。如何处理这种情况?设备中的旧 Token 会怎样?请任何人都可以帮助我?

【问题讨论】:

  • 不应有两行。如果您正在实施登录/注销 - 在设置新令牌之前清除用户以前的令牌
  • 如果两个用户使用一台设备但他们拥有不同的帐户并且他们每天通过登录和注销来交换设备会发生什么?
  • 那么,我必须在他们注销时从后端数据库的用户表中删除令牌列,并在他们登录时插入新令牌??
  • 是的,没错。
  • 我遇到了同样的问题,但解决了当用户在同一设备中注销时,它可以从数据库中删除以前的令牌并在同一设备再次登录时自动获取新令牌。因为数据库中不存在令牌,将为同一设备生成新令牌。

标签: android mysql push-notification firebase firebase-cloud-messaging


【解决方案1】:

用于发送 FCM 消息的实例 ID 令牌代表设备上的实例和应用程序。应用程序的当前用户不会影响代表应用程序实例的令牌。卸载并重新安装应用程序会导致生成新令牌,但不会用于切换用户等应用程序内行为。

您仍应在注销时删除令牌到用户的映射,并向登录的用户添加具有相同令牌的新映射,但它将是相同的令牌。

【讨论】:

    【解决方案2】:

    我可能觉得这对你有帮助,

    当用户注销时,清除他的设备令牌并让他注销,这样他就无法接收更新,因此一次只有一个用户可以获取更新

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-19
      • 2018-10-24
      • 2017-01-25
      • 1970-01-01
      • 2021-12-12
      • 1970-01-01
      相关资源
      最近更新 更多