何时为用户注册 FCM 令牌



我对在我的应用中实现Firebase Cloud Messaging 有一些疑问。

我的应用程序是一个类似于whatsappfacebook messenger的聊天。现在,每次有人登录时,我都会注册令牌并将其与用户相关联。因此,如果有人想与用户聊天,该应用程序会在 Db 中搜索用户 ID,我有他的令牌。

我可以注册设备令牌,但我不确定何时应该这样做。

在我的聊天中,用户通过邮件/密码注册进行注册,并且用户可以在其他设备上登录。

例如:用户Frehley使用Galaxy 8,并且能够使用令牌在他的设备中聊天和接收通知。但是假设他登录了另一台设备。我需要再次注册令牌并将其与他关联,对吗?

所以,也许我错了,但注册令牌的最佳时机是每次用户登录并在数据库中替换它时。右?

现在,假设两个用户(Frehley和Stanley(使用相同的Galaxy 8登录,每次登录时令牌都会有所不同,或者每个设备都相同?

这一切都取决于用例:

  • 如果同一用户登录到两台设备,您是否希望他们在两台设备上都收到通知?如果是这样,则需要为每个用户存储多个设备令牌,并将通知发送到目标用户的每个令牌。还可以使用设备组来标识单个用户的设备。从这些文档中:

    借助设备群组消息传递,您可以将一条消息发送到在属于某个组的设备上运行的应用的多个实例。通常,"组"是指属于单个用户的一组不同设备

  • 如果希望用户仅在他们上次使用的设备上接收通知,则必须将单个令牌与每个用户关联,并在他们在设备上启动应用时覆盖该令牌。并不是说这不一定是在他们登录时,而是更有可能在应用程序检测到他们经过身份验证时。

  • 如果其他用户在同一设备上使用相同的应用(使用相同的设备配置文件(,你可能希望停止向设备令牌发送。执行此操作的最可靠方法是删除上一个用户与令牌之间的关联,但这可能需要保留从令牌到 UID 的映射。一种更简单的方法是在用户注销时删除设备令牌。然后新用户登录,然后他们将获得一个新令牌。

相关内容

  • 没有找到相关文章

最新更新