如何在Flutter中删除Firebase Cloud Messaging令牌

时间:2018-11-01 08:55:59

标签: android firebase dart flutter

当一个用户A登录然后注销。 然后,用户B登录。 因为未删除为用户A生成的令牌,所以从用户B接收了针对用户A的通知。 dart程序包中没有用于删除此令牌的选项。

2 个答案:

答案 0 :(得分:2)

您可以通过调用deleteInstanceID来实现。请注意,deleteInstanceID会自动重新创建令牌,因此您必须setAutoInitEnabled事先将其设置为false。您可以通过查询autoInitEnabled来检查当前的自动初始化值。

注意:要求firebase_messaging版本2.1.0或更高版本。

答案 1 :(得分:0)

来自Official documentation的注释:

<块引用>

已弃用:deleteInstanceID() 已被弃用,取而代之的是 deleteToken()

因此,要使当前令牌无效,只需将此代码添加到您的注销功能中即可:

await FirebaseMessaging.instance.deleteToken();

此后,服务器向此令牌发送的消息将失败。