4 votes

Firebase Cloud Messaging : meilleures pratiques

Je suis en train de migrer vers Firebase Cloud Messaging, et j'ai un doute. Mon application doit afficher l'écran de connexion au lancement, et si l'utilisateur effectue la connexion dans un autre compte, je dois arrêter d'envoyer des notifications pour l'ancien utilisateur.

  • Quelle est la meilleure façon de le faire ?
  • Puis-je forcer l'application à renouveler le jeton ?
  • Ou dois-je mettre à jour le propriétaire du jeton dans ma base par le mien ?

4voto

À l'intérieur de l'application, vous devez renouveler le jeton d'identification d'instance et oublier l'ancien si vous ne voulez pas recevoir de notifications envoyées à l'ancien jeton. A chaque déconnexion et connexion, il suffit de prendre le nouveau Instance ID et de mettre à jour votre base de données externe (au cas où votre logique d'application en aurait besoin) avec l'information sur le nouveau token attribué à cet utilisateur :) Il n'y a pas de limites pour la génération de nouveaux jetons et vous ne pouvez pas réutiliser les jetons abandonnés.

Renouveler le jeton est juste appeler getToken() à nouveau.

C'est la meilleure approche parce que l'InstanceID est en fait assigné à l'"instance de l'application", donc en cas de réinstallation de l'application sur le dispositif ou de suppression du cache par l'utilisateur, vous devrez obtenir un nouveau jeton de toute façon.

0voto

Nouman Tahir Points 415

Dans l'une des applications que j'ai développées, je l'ai géré sur mon nuage d'applications.

Cloud avait deux tables, une table avec les identifiants des appareils avec lesquels un utilisateur est connecté et une autre avec les identifiants des instances assignées aux appareils.

Ce que vous pouvez faire, c'est que lorsque l'utilisateur se déconnecte d'un appareil, vous supprimez l'identifiant de cet appareil de la liste des appareils de l'utilisateur et lorsqu'un nouvel utilisateur se connecte, vous ajoutez un identifiant d'appareil à ses appareils.

Lors de l'envoi de notifications, vous pouvez utiliser des jetons et tout le reste sera simplifié.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X