web-dev-qa-db-fra.com

Firebase envoie une notification en cas de modification de la base de données en temps réel

J'ai trouvé deux approches possibles pour délivrer des notifications après quelques modifications dans la base de données Firebase en temps réel (par exemple dans une application de chat):

  • Il est possible d'utiliser Fonctions Cloud pour Firebase comme expliqué dans ce billet de blog .

  • J'ai également trouvé ici une autre approche plus simple utilisant juste un service Android qui écoute les changements dans la base de données.

Je voudrais savoir quels sont les avantages et les inconvénients des deux approches avant d'essayer de mettre en œuvre l'une d'entre elles et puisque la seconde semble beaucoup plus simple que la première.

10
gidan

Le Android service la solution décrite dans https://www.codementor.io/sundayakinsete/firebase-real-time-notifications-app-to-app-opkwbo6ba présente de sérieuses limitations:

  1. cela ne fonctionne pas lorsque l'application n'est pas en cours d'exécution (rappelez-vous que lorsque l'utilisateur place votre application en arrière-plan, le système peut décider de la terminer pour libérer de la mémoire de l'appareil)
  2. il utilise une batterie supplémentaire, RAM et données réseau, pour garder le service à l'écoute active des modifications de la base de données distante
  3. chaque appareil avec l'application en cours d'exécution, même en arrière-plan, compterait jusqu'à la limite de 100 000 connexions simultanées à la base de données.
  4. cela ne fonctionne pas sur iOS

de l'autre côté, si vous utilisez Firebase Cloud Messaging (via les fonctions cloud ou un serveur personnalisé):

  1. vous pouvez recevoir des notifications même si l'application est fermée
  2. vous ne consommez pas de batterie ou de processeur supplémentaire
  3. vous pouvez utiliser la limite de base de données de 100 000 connexions simultanées pour les utilisateurs qui utilisent réellement l'application au premier plan.
  4. cela fonctionne sur iOS et Web
12
Diego Giorgini