12

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.

Nishant Subedi
  • 141
  • 1
  • 5

2 Answers2

13

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.

AnasSafi
  • 5,353
  • 1
  • 35
  • 38
11

EDIT: looks like deleteInstanceID was deprecated in favor of deleteToken. Please look the other answer for more info.


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.

Feu
  • 5,372
  • 1
  • 31
  • 57