如何在 Flutter 中删除 Firebase 云消息传递令牌
Posted
技术标签:
【中文标题】如何在 Flutter 中删除 Firebase 云消息传递令牌【英文标题】:How to remove Firebase Cloud Messaging Token in Flutter 【发布时间】:2019-04-05 11:30:20 【问题描述】:当一个用户 A 登录然后注销时。 然后用户 B 登录。 用户 B 收到了针对用户 A 的通知,因为为用户 A 生成的令牌没有被删除。 dart 包没有删除此令牌的选项。
【问题讨论】:
【参考方案1】:您可以通过调用deleteInstanceID
来完成此操作。请注意,deleteInstanceID
会自动重新创建令牌,因此您必须事先将 setAutoInitEnabled
设置为 false。您可以通过查询autoInitEnabled
来查看当前的自动初始化值。
注意:需要firebase_messaging
2.1.0 或更高版本。
【讨论】:
【参考方案2】:来自Official documentation的备注:
已弃用:deleteInstanceID() 已弃用,取而代之的是 删除令牌()
所以要使当前令牌无效,只需将此代码添加到您的注销功能:
await FirebaseMessaging.instance.deleteToken();
之后,服务器向该令牌发送的消息将失败。
【讨论】:
以上是关于如何在 Flutter 中删除 Firebase 云消息传递令牌的主要内容,如果未能解决你的问题,请参考以下文章
Flutter:如何从 Firebase 数据库中删除最后一个节点?
Flutter:如何删除等待以利用 Firebase 离线持久性?
Flutter 和 Firebase:从 Firebase 中的数组中删除项目(地图)