web-dev-qa-db-fra.com

Mise à jour du jeton FCM sur l'application Flutter

J'ai une application Flutter qui crée un jeton FCM lors de la première exécution, comme ceci:

_firebaseMessaging.getToken().then((token) {
  //save my token here
});

Cependant, je comprends que ce jeton peut être actualisé de temps en temps. Pour obtenir ce nouveau jeton actualisé, je dois appeler la méthode onTokenRefresh:

Stream<String> fcmStream = _firebaseMessaging.onTokenRefresh;
fcmStream.listen((token) {
  saveToken(token);
});

Le problème est que je ne sais pas si c'est correct. La ligne saveToken(token) est toujours exécutée lorsque l'application s'exécute, mais cela fonctionne lorsque l'application n'est pas au premier plan/en arrière-plan?

Je veux dire, ce onTokenRefresh continuera à écouter même si l'utilisateur ferme l'application?

Sinon, comment puis-je obtenir le nouveau jeton si l'application ne démarre pas longtemps?

10
Notheros

Basé sur ce document Firebase le jeton fcm sera modifié lors des événements ci-dessous:

  • L'application supprime l'ID d'instance
  • L'application est restaurée sur un nouvel appareil
  • L'utilisateur désinstalle/réinstalle l'application
  • L'utilisateur efface les données de l'application

Si l'application ne démarre pas depuis longtemps et qu'aucun des événements ci-dessus ne s'est produit, le jeton d'application ne sera pas modifié.

9