Comment implémenter les notifications push Android avec Sendbird Chat et Firebase
Introduction : Qu'est-ce que les notifications push et pourquoi sont-elles importantes ?
Une notification push est un message immédiatement envoyé à l'appareil d'un utilisateur lorsque celui-ci est inactif ou exécute l'application client en arrière-plan. Les notifications push sont importantes, car elles fournissent des informations importantes, des mises à jour et augmentent l'engagement des utilisateurs avec votre application. De plus, les notifications push constituent un canal marketing puissant par lequel vous pouvez cibler les bons utilisateurs, proposer un contenu significatif, augmenter les taux de conversion et améliorer votre stratégie de service client. En fait, selon RubyGarage, les organisations qui mettent en œuvre des notifications push ont une fidélisation de la clientèle 3 fois plus élevée et un engagement 88 % plus élevé que les entreprises qui ne le font pas ! Notre guide des notifications push mobiles contient tout ce que vous devez savoir sur les notifications push, leurs avantages et la manière dont elles peuvent être utilisées.
Ce didacticiel fournit des instructions étape par étape pour implémenter les notifications push Android.
Prérequis
- Créer un Compte Sendbird
- Assurez-vous que Sendbird Chat fonctionne correctement dans votre application Android. Vous souhaiterez peut-être consulter le guide de mise en œuvre de Kotlin ou ce tutoriel sur créer une application de chat Android avec UIKit. Les documents contiennent des conseils supplémentaires pour mettre en œuvre le chat en temps réel dans votre application Android.
Il est important de comprendre que les notifications push sur les applications clientes Android sont envoyées à l'aide de Firebase Cloud Messaging (FCM) ou de Huawei Mobile Service (HMS), et que celles-ci contiennent des données personnalisées dont votre application a besoin pour répondre aux notifications. Lorsqu'un message est envoyé au serveur Sendbird à partir d'une application (via le SDK Chat pour Android), le serveur communique avec FCM ou HMS, puis FCM ou HMS envoie une notification push à l'appareil Android. Cet article se concentre sur la configuration des notifications push avec FCM.
Sendbird propose deux options pour les notifications push : les notifications push générales et les notifications push avec prise en charge multi-appareils.
Les notifications push générales prennent en charge les utilisateurs mono-appareils et multi-appareils et sont envoyées uniquement lorsqu'un utilisateur est complètement hors ligne (déconnecté du serveur) de tous les appareils. En d’autres termes, si un utilisateur est en ligne sur un ou plusieurs appareils, les notifications ne sont pas envoyées et ne s’affichent donc sur aucun appareil. D'autre part, les notifications push avec prise en charge de plusieurs appareils sont envoyées à tous les appareils hors ligne, même lorsqu'un utilisateur est en ligne sur un ou plusieurs appareils.
Notifications push pour Android : FCM
Il existe deux types de messages FCM : les messages de notification et les messages de données. Selon la Documentation Firebase, "Les messages de notification comportent un ensemble prédéfini de clés visibles par l'utilisateur et une charge utile de données facultative composée de paires clé-valeur personnalisées". En revanche, les messages de données contiennent uniquement des paires clé-valeur définies par l'utilisateur. Sendbird utilise des messages de données, permettant aux applications clientes de créer la charge utile de message personnalisée composée de ces paires clé-valeur personnalisées.
Suivez les étapes ci-dessous pour configurer les notifications push pour FCM. Avant de commencer, assurez-vous d'avoir accès à la console Firebase.
Allons-y ! 💻
Étape 1 : Obtenir la clé de serveur pour FCM
Le serveur Sendbird nécessite une clé de serveur FCM pour envoyer des demandes de notification à FCM en votre nom. Vous pouvez afficher votre clé de serveur FCM comme suit :
1. Connectez-vous à la console Firebase. Créez un nouveau projet Firebase ou utilisez celui existant si vous l'avez déjà.
![Connexion à Firebase](http://sendbird.sfo3.digitaloceanspaces.com/cms/android-pn1.png)
2. Ouvrez votre projet et accédez aux « Paramètres du projet » comme indiqué dans la capture d'écran.
![Paramètres du projet Firebase](http://sendbird.sfo3.digitaloceanspaces.com/cms/android-pn2.png)
3. Accédez à « Messagerie cloud > » Informations d'identification du projet et copiez la clé de votre serveur pour une utilisation ultérieure.
![Copier la clé du serveur](http://sendbird.sfo3.digitaloceanspaces.com/cms/android_pn3.png)
Étape 2 : Enregistrer la clé de serveur FCM sur le tableau de bord Sendbird
Enregistrez votre clé de serveur sur le serveur Sendbird via le tableau de bord comme suit. Notez que la clé du serveur peut également être enregistrée à l'aide de l'action ajouter une configuration push FCM de l'API Chat Platform.
1. Connectez-vous au Tableau de bord Sendbird et accédez à « Paramètres > Discuter > Notifications'.
![Connectez-vous au tableau de bord Sendbird](http://sendbird.sfo3.digitaloceanspaces.com/cms/android-pn-dashboard.png)
2. Activez « Notifications » et sélectionnez l'option « Envoyer aux appareils lorsque tous sont hors ligne ».
![Activer les notifications](http://sendbird.sfo3.digitaloceanspaces.com/cms/android_pn_turn_on_notifications.webp)
3. Cliquez sur le bouton « Ajouter des informations d'identification » à côté des informations d'identification FCM. Saisissez la clé du serveur FCM copiée à l'étape 1.
![Entrez la clé du serveur FCM](http://sendbird.sfo3.digitaloceanspaces.com/cms/android_pn-enter-fcm-server-key.png)
Étape 3 : Configurer une application cliente FCM dans votre projet Android
Nous allons maintenant ajouter les configurations et dépendances FCM à votre projet Android.
1. Revenez à votre projet dans la console FCM. Cliquez sur « Ajouter une application » et sélectionnez la plateforme Android
![Ajoutez votre application Android](http://sendbird.sfo3.digitaloceanspaces.com/cms/android-pn-add-app.png)
2. Dans l'assistant Ajouter une application, saisissez le nom de votre package. Astuce : le nom de votre package est généralement « applicationId » dans le fichier « build.gradle » au niveau de votre application.
3. Téléchargez le fichier « google-services.json » et placez-le dans le répertoire racine de votre module d'application Android.
![Téléchargez le fichier « google-services.json » et placez-le dans le répertoire racine de votre module d'application Android.](http://sendbird.sfo3.digitaloceanspaces.com/cms/android-pn-download-googleservices.png)
4. Ajoutez la dépendance de la bibliothèque Android Cloud Messaging à votre fichier build.gradle comme ci-dessous :
Remarque : La version de Firebase-messaging doit être 19.0.1 ou supérieure.
dependencies { ... implementation 'com.google.firebase:firebase-messaging:20.1.0' }
Étape 4 : Enregistrer un jeton push sur le serveur Sendbird
Pour envoyer des messages de notification à une application client spécifique sur un appareil Android, FCM nécessite le jeton d'enregistrement d'une instance d'application, que l'application client a émis. Par conséquent, le serveur Sendbird a également besoin du jeton d'enregistrement de chaque instance d'application client pour envoyer des demandes de notification à FCM en votre nom.
Lors de l'initialisation de votre application, le SDK FCM génère un jeton d'enregistrement unique spécifique à l'application pour l'instance d'application client sur l'appareil de votre utilisateur. FCM utilise ce jeton d'enregistrement pour déterminer l'appareil auquel les messages de notification doivent être envoyés. Vous pouvez accéder à ce jeton en étendant « com.sendbird.android.SendBirdPushHandler » et en remplaçant « onNewToken ». Le « SendBirdPushHandler » enregistre en interne ce jeton sur le serveur Sendbird.
Voici l’exemple d’implémentation :
Le jeton push enregistré apparaît dans le tableau de bord sous « Utilisateurs > id_utilisateur > Chat':
![Jeton push enregistré](http://sendbird.sfo3.digitaloceanspaces.com/cms/android_pn-registered-push-token.webp)
Étape 5 : Ajouter les gestionnaires d'événements push
Pour recevoir des informations du serveur Sendbird sur les événements de notification push pour l'utilisateur actuel, enregistrez une instance « MyFireBaseMessagingService » dans « SendBirdPushHelper » en tant que gestionnaire d'événements. Faites cela dans la méthode « onCreate() » de l’instance « Application » comme suit :
Enregistrez également une instance « MyFireBaseMessagingService » lorsqu'un utilisateur se connecte au serveur Sendbird comme suit :
De plus, avant de déconnecter l'utilisateur du serveur Sendbird, désenregistrez tous les jetons push afin qu'ils ne reçoivent aucune notification.
Étape 6 : Gérer un payload de message FCM
Comme décrit précédemment, le serveur Sendbird envoie des charges utiles de notification push sous forme de messages de données FCM. La charge utile se compose de deux propriétés : message et sendbird. La propriété de message est une chaîne générée selon un modèle de notification que vous avez défini sur le tableau de bord Sendbird. La propriété sendbird est un objet JSON qui contient toutes les informations sur le message envoyé par un utilisateur.
Comme le montre l'exemple d'implémentation, à l'étape 4, vous pouvez afficher les messages analysés aux utilisateurs sous forme de notification en utilisant votre méthode personnalisée « sendNotification() ».
Astuces pour le dépannage des notifications push
Le dépannage des notifications push peut être complexe ; voici quelques conseils pour ce faire.
- Pour permettre aux développeurs de déboguer et de dépanner plus facilement les notifications push, nous avons créé un outil de test qui pourrait vous être utile. Veuillez consulter ce tutoriel pour comprendre comment utiliser l'outil, auquel vous pouvez accéder via le tableau de bord Sendbird.
- Consultez ce guide complet pour résoudre les problèmes liés aux notifications push de chat Android.
- Si vous souhaitez déboguer les conditions d'échec, veuillez vous référer aux Codes d'erreur FCM.
Conclusion
Et c'est fini ! Vous savez maintenant comment envoyer des notifications push pour les applications Android avec Sendbird Chat. Grâce aux conseils de ce didacticiel et des docs, vous serez sur la bonne voie pour envoyer des notifications push opportunes, pertinentes et engageantes en un rien de temps !
Nous sommes toujours là pour vous aider ; contactez-nous si vous avez des questions, des commentaires ou des préoccupations.
Bonne création de notifications push ! 💻 Nous avons hâte de voir ce que vous construisez !