Notifications push pour les applications iPhone et Android

:information_source: Résumé Envoyez des notifications push Discourse à iOS ou Android via votre propre application
:hammer_and_wrench: Lien vers le dépôt GitHub - Sprachprofi/discourse-fcm-notifications: Send Discourse push notifications through FCM to any custom app
:open_book: Guide d’installation Comment installer des plugins dans Discourse

Fonctionnalités

Si vous avez une application que les gens peuvent utiliser pour naviguer sur votre forum Discourse, ce plugin permettra à votre forum d’envoyer des notifications push via l’application. (Si vous n’avez pas encore d’application mais que vous en souhaitez une, consultez cette solution minimaliste.)

Pratique pour les utilisateurs : lorsqu’un utilisateur reçoit une notification push concernant un message privé, appuyer sur cette notification ouvrira votre application et affichera directement ce message privé. C’est un avantage majeur par rapport à l’utilisation de Notifications Pushover de Discourse, où les notifications push ouvrent l’application Pushover et il n’est pas évident de savoir comment accéder au message. En revanche, les notifications Pushover sont utiles si vous souhaitez des notifications push sans application.

Universel : utilise Google Firebase comme couche de messagerie, de sorte que tous les appareils iOS et Android peuvent recevoir ces notifications push, à condition que le pays n’ait pas interdit Google.

Configuration

  1. Installez et activez le plugin.
  2. Créez un projet Google Firebase gratuit pour votre application. Ajoutez l’ID du projet Firebase, le jeton et le fichier JSON (avec les données OAuth) aux paramètres du plugin dans Discourse.
  3. Ajustez le code de votre application :
  • Abonnez l’utilisateur actif aux notifications push en envoyant le jeton de l’appareil à VOTRE_FORUM.com/fcm_notifications/automatic_subscribe?token=… . Assurez-vous d’appeler cela chaque fois que le jeton de l’appareil change.

  • Désabonnez l’utilisateur actif en appelant VOTRE_FORUM.com/fcm_notifications/automatic_subscribe?token=REMOVE

  • Les notifications push auront la forme :

    'data': {
      "linked_obj_type" => 'link',
      "linked_obj_data" => <url vers le post/message référencé dans le message>,
    },
    'notification': {
      title: <quelque chose comme "NOM_UTILISATEUR vous a envoyé un message privé dans SUJET">,
      body: <début du message>,
    }
    

Vous devez donc afficher la notification push avec le titre/corps et appuyer dessus devrait ouvrir l’URL de linked_obj_data dans un navigateur intégré à l’application. C’est ce que vous devez définir dans le code de l’application.

Exemple d’implémentation

Vous pouvez obtenir le code d’une application minimaliste mais entièrement fonctionnelle qui fonctionne avec ce plugin ici. (C’est la version en marque blanche d’une application de production que nous avons créée et qui nécessitait ce plugin.) Si vous souhaitez uniquement une application qui affiche votre forum, envoie des notifications push et mémorise la connexion des utilisateurs / le dernier sujet lu, il vous suffit de changer la marque et de la soumettre aux App Stores et vous avez terminé. Sinon, cela pourrait être une base.

Les recettes de cette application financeront la maintenance et le développement futur du plugin.

4 « J'aime »

La notification push fonctionne-t-elle avec l’application Discourse Hub ?

L’application Discourse Hub est déjà dotée de notifications push.

Même pour les sites auto-hébergés ?

1 « J'aime »

Hmm… pas tout à fait sûr, mais je ne pense pas. Dans ce cas, ce plugin sera très utile.

Pas pour le moment - quelle que soit l’application que vous avez, elle nécessite une modification du code.

Je ne pense pas qu’il sera possible d’utiliser ce plugin avec une application que vous ne possédez pas, car les notifications push dépendent du partage de l’authentification Google (ou d’une autre authentification si vous n’utilisez pas Google Firebase) entre le forum et l’application. Ceci afin que Google sache qui est responsable de l’envoi potentiel de notifications malveillantes ou de spam et puisse fermer son compte. De plus, l’authentification Google peut potentiellement être utilisée pour faire d’autres choses avec le compte Google de la personne, en fonction de la façon dont elle est configurée. Je ne pense donc pas que les créateurs de l’application Discourse Hub (ou tout autre créateur d’application) souhaiteraient partager leur authentification Google avec tous ceux qui ont un forum Discourse auto-installé, et bien sûr, ils ne peuvent pas ajouter l’authentification Google de tout le monde au code de l’application (ni demander aux utilisateurs finaux de le faire après le téléchargement). Pour les notifications push Google Firebase, le forum et l’application doivent appartenir à la même organisation, je ne vois pas d’issue.

Existe-t-il une application en direct que nous pouvons tester ?

Voir ci-dessus - vous ne pouvez pas installer ce plugin sur votre forum et le connecter à une application existante car cela signifierait que le propriétaire de l’application devrait partager son authentification Google avec vous.

Si vous souhaitez voir un exemple d’implémentation, regardez https://youtube.com/shorts/iGmTBmhpD4A?feature=share (l’application montrée est ce code sans aucune modification). Mais votre application pourrait être complètement différente - le plugin permet uniquement à votre forum d’envoyer des notifications push à votre application, la manière dont elles sont affichées dépend de vous.