Firebase Cloud Messaging

Par hekram, 13 mars, 2025
image

Bonjour à tout le monde ! Dans notre avant-dernier article, nous allons découvrir aujourd'hui une fonctionnalité intéressante que propose Firebase : Firebase Cloud Messaging. Cette fonctionnalité est plutôt utile et mérite qu'on en parle, car elle pourrait nous être bénéfique à l'avenir.


Qu'est-ce que Firebase Cloud Messaging ?

Tout d'abord, Firebase Cloud Messaging (FCM) est un service offert par Google qui permet d'envoyer des messages et des notifications aux utilisateurs sur le web et les applications mobiles. C'est une solution solide et efficace qui permet d'envoyer des messages en direct à un seul appareil, à plusieurs appareils ou à des personnes abonnées à certains sujets.

Avec FCM, les développeurs peuvent facilement envoyer des notifications, garder les utilisateurs engagés et gérer la communication entre un serveur et une application. Il propose deux types de messages :

  • Les notifications push, qui apparaissent directement sur l’écran des utilisateurs.
  • Les messages de données, qui transmettent des informations en arrière-plan sans déranger l’utilisateur.

Fonctionnement de Firebase Cloud Messaging

Firebase Cloud Messaging repose sur une architecture en plusieurs couches permettant d'envoyer, transporter et recevoir des messages sur des applications Android, iOS et Web. Son fonctionnement suit un cycle bien défini impliquant plusieurs composants clés.

Il commence par l’enregistrement des appareils, où chaque application cliente obtient un token unique. Lorsqu’un message est envoyé via Firebase Console, Firebase Admin SDK ou API FCM, il est traité par le backend FCM, qui génère un identifiant et le transmet via la couche de transport spécifique à chaque plateforme. Une fois reçu, le message est soit affiché en notification, soit traité en arrière-plan selon l’état de l’application.

Par exemple :

  • L’application obtient un token unique pour identifier l’appareil.
  • Le serveur ou Firebase Console envoie un message à Firebase Cloud Messaging.
  • Le backend FCM génère un identifiant et prépare l’envoi.
  • Le message est transmis via la couche de transport spécifique à chaque plateforme.
  • L’application reçoit et affiche la notification ou traite les données en arrière-plan.

Pourquoi l'utiliser ?

Firebase Cloud Messaging est une solution complète qui permet de gérer plusieurs types de communication, Voici pourquoi il est avantageux de l'utiliser :


Envoi de messages en temps réel :
  • Mises à jour instantanées : Il permet d’envoyer rapidement des informations importantes comme des résultats sportifs, de nouveaux messages ou des alertes urgentes.
  • Mises à jour discrètes : Les messages de données permettent à l’application de recevoir des mises à jour sans interruption pour l'utilisateur.
Envoi ciblé et personnalisé
  • Envoi à un seul appareil : Il peut envoyer un message directement à un utilisateur spécifique grâce aux registration tokens.
  • Groupes d’appareils : Possibilité d’envoyer un message à plusieurs appareils liés au même compte.
  • Abonnement à des sujets : Permet d'envoyer un message à tous les utilisateurs abonnés à un même sujet.
Fiable et adapté
  • Infrastructure Google : Capable d’envoyer des millions de messages par seconde sans problème.
  • Utilisation optimisée : Conçu pour économiser la batterie et limiter la consommation de données des appareils.
Intégration simple et flexible
  • SDK facile à intégrer : Compatible avec Android, iOS et les applications Web.
  • Il est compatible avec d’autres services Firebase
  • Envoi via Firebase Console : Permet d’envoyer des messages manuellement via Firebase Console ou automatiquement avec Firebase Admin SDK.

Configuration de Firebase Cloud Messaging

Alors maintenant, nous allons le configurer dans notre projet ou application. D'abord, la documentation montre les étapes pour les différentes plateformes. Nous allons nous concentrer sur Android.


1.Créer et configurer un projet Firebase

  • Allez sur la console Firebase.
  • Cliquez sur "Ajouter un projet" et suivez les étapes à l'écran pour créer un projet.
  • Une fois le projet créé, cliquez sur l'icône Android pour ajouter une application Android à votre projet Firebase.
  • Téléchargez le fichier google-services.json pour obtenir votre fichier de configuration Firebase Android.
  • Déplacez ce fichier dans le répertoire principal du module de votre application.
  • Pour rendre les valeurs de votre fichier google-services.json accessibles aux SDK Firebase, vous devez utiliser le plugin Gradle des services Google (google-services).
  • Dans le fichier Gradle au niveau racine (niveau projet) (/build.gradle.kts ou /build.gradle), ajoutez le plugin Google services comme dépendance :
plugins {
  id("com.android.application") version "7.3.0" apply false
  // ...

  // Add the dependency for the Google services Gradle plugin
  id("com.google.gms.google-services") version "4.4.2" apply false
}

2. Ajouter le SDK Firebase à votre application Android

Dans le fichier Gradle de votre module, généralement //build.gradle.kts ou //build.gradle, ajoutez la dépendance pour la bibliothèque Firebase Cloud Messaging pour Android. deux façons simples d’envoyer des notifications

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.10.0"))

    // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-messaging")
    implementation("com.google.firebase:firebase-analytics")
}

3. Initialiser Firebase dans votre application

Dans votre projet acceder vous dans l'activité principale (MainActivity), initialisez Firebase en ajoutant le code suivant :

import com.google.firebase.FirebaseApp;
        // Initialiser Firebase
        FirebaseApp.initializeApp(this);
    }
}

4. Obtenir le token d'enregistrement FCM

Pour envoyer des messages à des appareils spécifiques, vous devez obtenir le token d'enregistrement unique pour chaque instance de l'application. Ajoutez le code suivant pour récupérer le token :

FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
    if (!task.isSuccessful) {
        Log.w(TAG, "Fetching FCM registration token failed", task.exception)
        return@OnCompleteListener
    }

    // Get new FCM registration token
    val token = task.result

    // Log and toast
    val msg = getString(R.string.msg_token_fmt, token)
    Log.d(TAG, msg)
    Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
})

Cela constitue la base pour intégrer Firebase Cloud Messaging dans votre projet. Cependant, pour utiliser différentes fonctionnalités, comme l'envoi de messages à plusieurs appareils, l'envoi de messages vers des sujets, l'envoi de messages dans différents groupes, etc., il existe plusieurs méthodes. Pour cela, vous pouvez consulter la documentation, qui fournit déjà le code nécessaire que vous pourrez intégrer dans votre projet.

Alors, pour aujourd'hui, notre article est terminé. Je serais ravis de vous retrouver dans notre dernier article où nous parlerons de Firebase Hosting. Ce sera un article intéressant !


Référence

Commentaires1

jlerouge

il y a 3 semaines 3 jours

J'aime bien ton article , elle est clair et bien structuré, avec une progression logique et des exemples concrets.Peut-être ajouter une section sur la gestion des messages en arrière-plan pourrait être un plus. As-tu déjà testé l’envoi de notifications en fonction de l’activité utilisateur ? J'ai hâte lire la suite de ton prochain article