Firebase云消息推送:最佳实践

5

我正在迁移到 Firebase 云消息传递,有一个问题需要解决。当启动应用程序时,我的应用必须显示登录屏幕,并且如果用户在另一个帐户上执行登录,则必须停止为旧用户发送通知。

  • 最好的方法是什么?
  • 我能强制应用程序更新令牌吗?
  • 还是我自己应该更新令牌的所有者在我的数据库中?
2个回答

4

在应用程序中,如果您不想收到发送到旧令牌的通知,则应更新实例ID令牌并忘记旧令牌。每次注销和登录时,只需获取新的实例ID并使用分配给该用户的新令牌更新您的外部数据库(如果您的应用程序逻辑需要)。生成新令牌没有限制,一旦删除令牌就不能重复使用。

更新令牌只需再次调用getToken()。

这是最佳方法,因为实际上将InstanceID分配给“应用程序实例”,所以如果设备上重新安装应用程序或用户清除缓存,您将不得不获取新令牌。


1
我第一次安装了我的应用程序,函数onTokenRefresh被调用并给了我一个新的令牌。所以,在某个时候,我尝试调用FirebaseInstanceId.getInstance().getToken(),它给了我与之前相同的令牌。这是你说的重新生成令牌号码的方法吗? - Marcos Miguez

0
在我开发的一个应用程序中,我在我的应用云上处理了它。
云有两个表,一个表存储用户登录的设备ID,另一个表存储分配给设备的实例ID。
您可以做的是,当用户从设备注销时,从用户设备列表中删除该设备ID,并在新用户登录时将设备ID添加到其设备中。
在发送通知时,您可以使用令牌连接设备,一切都会变得更加流畅。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接