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

12

当用户A登录并登出后,用户B登录。由于为用户A生成的令牌未被删除,所以用户B收到了原本应该发给用户A的通知。Dart包没有删除此令牌的选项。

2个回答

13

来自官方文档的说明:

已弃用:deleteInstanceID() 已被 deleteToken() 取代。

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

await FirebaseMessaging.instance.deleteToken();

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


11

编辑:看起来 deleteInstanceID 已经过时,推荐使用 deleteToken。请查看其他答案获取更多信息。


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

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


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