当前位置: 首页 > 知识库问答 >
问题:

何时为用户注册FCM令牌

贺卜霸
2023-03-14

我对在我的应用程序中实施Firebase云消息传递有一些疑问。

我的应用程序类似于whatsapp和facebook messenger。现在,每次有人登录时,我都会注册令牌并将其与用户关联。因此,如果有人想与用户聊天,应用程序会在数据库中搜索用户ID,我在那里找到了他的令牌。

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

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

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

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

现在,假设两个用户(Frehley和Stanley)使用相同的Galaxy 8登录,每次登录时令牌都会不同,还是每个设备都一样?

共有1个答案

司空高义
2023-03-14

这一切都取决于用例:

>

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

    使用设备组消息传递,您可以将单个消息发送到在属于组的设备上运行的应用程序的多个实例。通常,“组”是指属于单个用户的一组不同设备

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

    如果不同的用户在同一设备上使用相同的应用程序(使用相同的设备配置文件),您可能希望停止发送到设备令牌。最可靠的方法是删除前一个用户和令牌之间的关联,但这可能需要保留从令牌到UID的映射。更简单的方法是在用户注销时删除设备令牌。然后新用户登录,他们将获得一个新令牌。

  •  类似资料:
    • 我第一次获取FCM并将其保存到我的用户默认值。现在当用户注销时,我如何再次刷新FCM令牌?我搜索了文档和许多其他问题,但没有找到更好的解决方案。 提前谢谢。

    • 问题内容: 我获得了用于Web推送的Firebase Cloud Messaging注册令牌。然后,我将此邮件发送到服务器以保存在数据库中,以供以后推送。但是,如何验证此令牌有效或伪造的? 我已经尝试过了,但是我认为这是针对Auth令牌而不是针对Web推送的。 其他人可以将随机伪造令牌的请求发送到我的服务器。我想防止这种情况,然后再保存到数据库中。 编辑:已解决,我编写了一个简单的类来使用FCM快

    • 我正在使用https://pub.dev/packages/firebase_messagingv6。0.16和颤振v1。17.5 我正在尝试调用myBackgroundMessageHandler中的一个插件,它的代码是AppAvailability。启动应用程序('com.companyname.appname') 但我得到以下错误 插件在应用程序范围内没有任何问题。这是发生在我尝试的每一个插

    • 新增ISV有两种方式 方式1 启动sop-admin,在admin后台ISV管理添加 方式2 启动sop-website-server,用户访问自主注册

    • 接口说明 注册用户 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /usercenter/api/register/v1.0.0/registerUser 是否需要登录 否 请求字段说明 参数 类型 请求类型 是否必须 说明 loginName string formData 是 用户登录 mobile string formDa

    • 接口说明 注册用户 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 如开启https功能,请求地址的协议应改为https,如:https://www.example.com/wish3dearth/api/access/v1.0.0/getLicenseInfo API地址 POST /usercenter/api/register/v1.0.0/reg