How to remove Firebase Cloud Messaging Token in Flutter

Viewed 5170

When One user A log In and then Log out. Then user B logs In. The notification intended for user A is received bu user B because the token generated for user A is not removed. The dart package have no options for removing this token.

2 Answers

You can accomplish that by calling deleteInstanceID. Be aware that deleteInstanceID automatically recreates the token, so you have to setAutoInitEnabled to false beforehand. You can check the current auto-init value by querying autoInitEnabled.

Note: requires firebase_messaging version 2.1.0 or greater.

Note from Official documentation:

DEPRECATED: deleteInstanceID() has been deprecated in favor of deleteToken()

So to make current token invalid just add this code to your logout function:

await FirebaseMessaging.instance.deleteToken();

After that, messages sent by the server to this token will fail.

Related