【发布时间】:2019-04-05 11:30:20
【问题描述】:
当一个用户 A 登录然后注销时。 然后用户 B 登录。 用户 B 收到了针对用户 A 的通知,因为为用户 A 生成的令牌没有被删除。 dart 包没有删除此令牌的选项。
【问题讨论】:
标签: android firebase dart flutter
当一个用户 A 登录然后注销时。 然后用户 B 登录。 用户 B 收到了针对用户 A 的通知,因为为用户 A 生成的令牌没有被删除。 dart 包没有删除此令牌的选项。
【问题讨论】:
标签: android firebase dart flutter
您可以通过调用deleteInstanceID 来完成此操作。请注意,deleteInstanceID 会自动重新创建令牌,因此您必须事先将 setAutoInitEnabled 设置为 false。您可以通过查询autoInitEnabled来查看当前的自动初始化值。
注意:需要firebase_messaging 2.1.0 或更高版本。
【讨论】:
来自Official documentation的备注:
已弃用:deleteInstanceID() 已弃用,取而代之的是 删除令牌()
所以要使当前令牌无效,只需将此代码添加到您的注销功能:
await FirebaseMessaging.instance.deleteToken();
之后,服务器向该令牌发送的消息将失败。
【讨论】: