web-dev-qa-db-fra.com

Meilleur moyen d'implémenter les notifications Push avec Firebase

Je suis un codeur d'application iPhone et j'utilise Firebase comme serveur principal. Firebase ne prend pas en charge les notifications Push. J'ai donc essayé de comprendre comment les inclure dans mon application. J'ai lu cette question: Comment envoyer un message d'alerte à un utilisateur en ligne spécial avec firebase mais cela semble être plus une solution de contournement qu'une solution réelle.

Y at-il une réponse sur la façon de faire cela? Y a-t-il des tiers ou des API qui pourraient implémenter sans problème cette fonctionnalité?

Une solution que j'ai essayée consiste à utiliser Zapier pour connecter Firebase à Pushover.

À ce stade, j'ai pu observer les événements dans l'application que je suis en train de coder, puis recevoir des notifications dans une application intermédiaire sur mon iphone. Toutefois, idéalement, j'aimerais recevoir les notifications dans mon application, et non dans l'application de transfert, car je ne veux pas que les utilisateurs aient besoin de passerelle pour pouvoir utiliser mon application et parce que je veux que les utilisateurs reçoivent leur propre message distinct. notifications, pas des notifications pour tout le monde.

Quelqu'un a-t-il des suggestions sur la façon dont je devrais gérer ce problème?

Merci pour l'aide!

EDIT Ce n'est pas un doublon de cette question: Firebase gère-t-il les notifications Push? parce que je sais que Firebase ne gère pas directement les notifications Push. Je recherche le meilleur moyen indirect de gérer les notifications Push avec Firebase.

12
Philip Sopher

Google a maintenant renommé GCM en Firebase Cloud Messaging et propose désormais ce service multiplate-forme. Firebase propose également notifications .

Voici les différences entre ces deux services:

Firebase Cloud Messaging fournit un ensemble complet de messagerie fonctionnalités via ses kits de développement logiciel client et ses serveurs HTTP et XMPP protocoles. Pour les déploiements avec des exigences de messagerie plus complexes, La FCM est le bon choix.

Firebase Notifications est une solution de messagerie légère et sans serveur construit sur Firebase Cloud Messaging. Avec un graphique convivial console et des exigences de codage réduites, Firebase Notifications permet les utilisateurs envoient facilement des messages pour réengager et conserver les utilisateurs, favoriser l'application croissance et soutenir les campagnes de marketing.

Si vous voulez une comparaison plus détaillée. Lire ceci .

13
JúlioCézar

Si vous voulez des messages Push de périphérique à périphérique, et pas seulement de serveur à périphérique, la seule solution que j'ai trouvée était OneSignal . J'ai pu ajouter un périphérique de base à la prise en charge des messages Push par périphérique de mon application en une heure environ et le logiciel est actuellement gratuit.

Batch et Firebase ne prennent en charge que les messages Push de serveur à périphérique, pas ce que vous voulez pour une application de discussion.

7
n6xej

Il y a plusieurs options: (bien, plus que deux mais voici deux)

Parse gère très bien les notifications Push - elles ont cette facilité et c'est super simple. Cependant, vous pouvez avoir des problèmes avec les utilisateurs et les comptes, en fonction de l'action de votre application.

Vous avez mentionné Pushover. Nous avons travaillé leur API il y a quelque temps, mais pas par Zapier. Si je me souviens bien, je pense que vous pouvez simplement enregistrer votre application, envoyer une demande HTTPS: à son serveur, puis les notifications sont envoyées depuis/vers votre application.

En outre, vous souhaiterez peut-être évaluer votre utilisation de Push car il est possible d'introduire un événement semblable à une notification dans l'application même.

2
Jay

Je viens de me rendre compte qu'ils sont sortis de ceci:

Lot

1
felixwcf

Des notifications sont désormais incorporées à Firebase . https://firebase.google.com/docs/notifications/

1
Dipesh

Voici la réponse que j'ai obtenue de l'équipe de Firebase:

Firebase n’a actuellement pas de fonction de notification Push. Vous pouvez utiliser Firebase Queue et GCM pour implémenter la notification Push dans votre application. Les files d'attente peuvent être utilisées dans votre application Firebase pour organiser les utilisateurs ou effectuer des tâches en arrière-plan, telles que la création de vignettes d'images, le filtrage du contenu des messages et la censure des données, ou le transfert de données vers plusieurs emplacements de votre base de données Firebase. Google Cloud Messaging (GCM) est un service gratuit qui permet aux développeurs d'envoyer des messages entre les serveurs et les applications client. Il est disponible à la fois sur iOS et sur Android.

Vous pouvez transférer un objet contenant des données vers l'emplacement/queue/tasks de votre Firebase à l'aide de n'importe quel client Firebase ou de l'API REST. Les travailleurs qui écoutent à cet endroit vont automatiquement récupérer et traiter le travail. À partir de là, vos travailleurs peuvent envoyer une notification GCM Push.

(fin du message de l'équipe Firebase)

~~~~~~~~~

Voici mon analyse:

Il semble y avoir quelques solutions, mais les deux meilleures sont:

1) Utilisez FirebaseQueue avec Google Cloud Messaging.

2) Exploitez la fonctionnalité de notification push dans Parse dans l'application Firebase.

Je ne suis pas sûr de ce qui est meilleur. Parse semble plus éprouvé, mais Firebase Queue s’intègre plus facilement dans l’application (c’est-à-dire qu’il fait beau tout avoir sur Firebase et qu’il n’a pas à installer une application Parse)

Quoi qu'il en soit, j'espère que ce fil aide les autres!

1
Philip Sopher

J'ai eu le même problème et j'ai réussi à trouver une solution il y a quelque temps. J'ai détaillé ma solution dans les articles suivants https://stackoverflow.com/a/44192515/7048719 et https://stackoverflow.com/a/42240984/7048719

Vous devez créer une classe de service de données Firebase et utiliser une instance partagée pour conserver les observateurs en mémoire lorsque l'application passe en arrière-plan. À partir de là, il vous suffit de faire ce que vous souhaitez.

0
Abishek Gokal