我正在迁移到Firebase云消息传递,我有一个疑问。 我的应用程序必须在启动时显示登录屏幕,如果用户在另一个帐户中执行登录,我必须停止向老用户发送通知。
答案 0 :(得分:4)
内部应用程序如果您不希望将通知发送到旧令牌,则应更新实例ID令牌并忘记旧令牌。在每次注销和登录时,只需获取新的实例ID并更新您的外部数据库(以防您的应用程序逻辑需要它),并提供有关为该用户分配新令牌的信息:)生成新令牌没有限制,一旦丢弃就无法重复使用令牌。
续订令牌只是再次调用getToken()。
这是最好的方法,因为InstanceID实际上已分配给“应用程序实例”,因此如果应用程序在设备上重新安装或用户删除缓存,则无论如何都必须获取新令牌。
答案 1 :(得分:0)
在我开发的其中一个应用中,我在应用云上处理了它。
Cloud有两个表,一个是用户登录的设备ID的表,另一个是分配给设备的实例ID。
您可以做的是,当用户从设备注销时,从用户设备列表中删除该设备ID,并作为新用户登录,将设备ID添加到他的设备。
发送通知时,您可以使用令牌设备,其他所有内容都会精简