J’ai développé un nouveau plugin Discourse pour envoyer des notifications push aux applications natives Android/iOS en utilisant Firebase Cloud Messaging (FCM).
Pourquoi ?
Le plugin existant discourse-fcm-notifications offre des fonctionnalités similaires, mais il n’est plus à jour par rapport aux versions récentes de Discourse. Son installation sur une instance de Discourse à jour génère des avertissements.
J’ai eu des difficultés à faire fonctionner l’ancien plugin sur les appareils d’autres testeurs. Plutôt que de tenter de le mettre à jour, j’ai décidé de créer une nouvelle implémentation de zéro.
Fonctionnalités
- Notifications push FCM pour les applications mobiles natives
- Plusieurs appareils par utilisateur
- Enregistrement et suppression d’appareils via une API
- Liens profonds (deep links) vers le sujet, le message ou la conversation Discourse concerné
- Suppression automatique des jetons FCM invalides ou expirés
- Gestion des nouvelles tentatives en cas d’échecs temporaires de Firebase
- Mode de confidentialité optionnel avec un contenu de notification générique
- Outils de diagnostic et de notification de test pour les administrateurs
- Utilise le système de notifications et les préférences existants de Discourse
Ce plugin est conçu pour fournir la couche de livraison entre Discourse et une application mobile native ; Discourse reste responsable de la décision des notifications qu’un utilisateur reçoit.
Développement assisté par IA
Une partie importante de ce plugin a été développée avec l’aide de l’intelligence artificielle. Je le publie ici en partie pour obtenir des retours de la part de développeurs Discourse expérimentés et pour identifier tout ce qui devrait être modifié ou amélioré.
Il est sous licence MIT.
Les retours, rapports de bugs et suggestions sont les bienvenus.