Envoyer des messages aux utilisateurs à l'aide de FCM et de FIAM

1. Avant de commencer

Dans cet atelier de programmation, vous apprendrez à ajouter la possibilité d'interagir avec les utilisateurs, que votre application soit au premier plan ou en arrière-plan.

206c7ecece550bde.png

Conditions préalables

Aucun

Points abordés

  • Ajouter Firebase à votre application Android
  • Ajouter les dépendances FCM et FIAM
  • Envoyer un message FCM de test à votre application
  • Envoyer un message FIAM de test à votre application

Prérequis

  • Android Studio 4.1
  • Appareil ou émulateur Android

2. Premiers pas

Obtenir l'exemple de code

Clonez le dépôt GitHub à partir de la ligne de commande :

Importer l'application de départ

Dans Android Studio, sélectionnez le répertoire codelab-fcm-and-fiam ( android_studio_folder.png). Il s'agit de celui qui a été cloné à l'étape précédente (Fichier > Ouvrir > .../codelab-fcm-and-fiam).

Le projet FcmAndFiam devrait maintenant être ouvert dans Android Studio. Si un avertissement concernant un fichier google-services.json manquant s'affiche, ne vous en inquiétez pas. Il sera ajouté à l'étape suivante.

3. Configurer un projet Firebase et votre application pour utiliser Firebase

Créer un projet Firebase

  1. Connectez-vous à la console Firebase à l'aide de votre compte Google.
  2. Cliquez sur le bouton pour créer un projet, puis saisissez un nom (par exemple, Send messages codelab).
  3. Cliquez sur Continuer.
  4. Si vous y êtes invité, lisez et acceptez les Conditions d'utilisation de Firebase, puis cliquez sur Continuer.
  5. (Facultatif) Activez l'assistance IA dans la console Firebase (appelée "Gemini dans Firebase").
  6. Pour cet atelier de programmation, vous avez besoin de Google Analytics pour utiliser de manière optimale les produits Firebase. Par conséquent, laissez l'option Google Analytics activée. Suivez les instructions à l'écran pour configurer Google Analytics.
  7. Cliquez sur Créer un projet, attendez que votre projet soit provisionné, puis cliquez sur Continuer.

Ajoutez Firebase à votre application

  1. Sur l'écran de présentation de votre nouveau projet, cliquez sur l'icône Android pour lancer le workflow de configuration.
  2. Saisissez le nom du package du codelab : com.google.firebase.codelab.fcmandfiam
  3. Après avoir ajouté le nom du package, cliquez sur Register App then Download google-services.json (Enregistrer l'application, puis télécharger google-services.json) pour obtenir votre fichier de configuration Firebase pour Android. Copiez ensuite le fichier google-services.json dans le répertoire app de votre projet. Une fois le fichier téléchargé, vous pouvez cliquer sur Skip (Ignorer) pour les étapes suivantes affichées dans la console (elles ont déjà été effectuées pour vous dans le projet build-android-start).
  4. Ajoutez le plug-in google-services à votre application**
    Le plug-in google-services utilise le fichier google-services.json pour configurer votre application afin qu'elle utilise Firebase. La dépendance du plug-in google-services et le plug-in lui-même doivent déjà être ajoutés aux fichiers de compilation au niveau du projet et de l'application, respectivement. Confirmez les entrées suivantes : build.gradle
    buildscript {
      ...
      dependencies {
        ...
        classpath 'com.google.gms:google-services:4.3.8'
      }
    }
    
    app/build.gradle
    plugins {
      ...
      id: 'com.google.gms.google-services'
    }
    

Ajouter des dépendances

FCM et FIAM nécessitent les dépendances suivantes. Ces dépendances devraient déjà être ajoutées au fichier build au niveau de l'application. Vérifiez que les dépendances suivantes sont ajoutées :

app/build.gradle

dependencies {
  ...
  implementation platform('com.google.firebase:firebase-bom:28.4.2')
  implementation 'com.google.firebase:firebase-analytics'
  implementation 'com.google.firebase:firebase-messaging'
  implementation 'com.google.firebase:firebase-inappmessaging-display'
}

Synchroniser votre projet avec les fichiers Gradle

Pour vous assurer que toutes les dépendances sont disponibles pour votre application, vous devez synchroniser votre projet avec les fichiers Gradle à ce stade. Sélectionnez File > Sync Project with Gradle Files (Fichier > Synchroniser le projet avec les fichiers Gradle) dans la barre d'outils d'Android Studio.

4. Identifiants de journaux

Firebase Cloud Messaging et Firebase In-App Messaging utilisent tous deux des identifiants pour envoyer des messages aux applications. FCM utilise un jeton d'enregistrement, tandis que FIAM utilise un ID d'installation.

  1. Dans MainActivity.kt, remplacez le TODO par le code ci-dessous pour consigner les identifiants nécessaires à l'envoi de messages :
FirebaseMessaging.getInstance().token.addOnCompleteListener { regTokenTask ->
   if (regTokenTask.isSuccessful) {
       Log.d(TAG, "FCM registration token: ${regTokenTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve registration token",
           regTokenTask.exception)
   }
}
FirebaseInstallations.getInstance().id.addOnCompleteListener { installationIdTask ->
   if (installationIdTask.isSuccessful) {
       Log.d(TAG, "Firebase Installations ID: ${installationIdTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve installations ID",
           installationIdTask.exception)
   }
}
  1. Connectez votre appareil Android, puis cliquez sur Run ( Exécuter) execute.png dans la barre d'outils Android Studio. En appuyant sur le bouton Log Identifiers (Enregistrer les identifiants), le jeton d'enregistrement FCM et l'ID d'installation Firebase sont enregistrés dans logcat. Le résultat doit se présenter comme suit :
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. Envoyer un message FCM de test

Les messages FCM peuvent être envoyés depuis la console Firebase et depuis l'API REST FCM. Dans cet atelier de programmation, nous allons composer un message de notification FCM et l'envoyer à notre appareil. Les messages de notification sont ceux qui s'affichent dans la zone de notification du système. Envoyez un message FCM de test en procédant comme suit :

  1. Assurez-vous que l'application est en arrière-plan (accédez à l'écran d'accueil).
  2. Accédez à la console Firebase et sélectionnez Cloud Messaging dans le panneau de navigation de gauche.
  3. Sélectionnez Envoyer votre premier message.
  4. Ajoutez un titre et un corps au message, puis cliquez sur Envoyer un message test.

207ced65f5245ada.png

  1. Ajoutez le jeton d'enregistrement FCM, puis cliquez sur Tester.

f3556c6a8a6453fe.png

  1. Observer la notification d'affichage sur l'appareil
  2. Appuyer sur la notification ouvre l'application.

6. Envoyer un message FIAM de test

Firebase In-App Messaging peut être déclenché à la suite de divers événements utilisateur. Le message de test utilise l'événement d'ouverture de l'application pour déclencher le message intégré. Envoyez un message FIAM test en procédant comme suit :

  1. Assurez-vous que l'application est en arrière-plan (accédez à l'écran d'accueil).
  2. Accédez à la console Firebase et sélectionnez "Messagerie In-App" dans le panneau de navigation de gauche.
  3. Sélectionnez Créer votre première campagne.
  4. Sélectionnez la campagne de bannière supérieure, puis saisissez le titre et le corps du message.
  5. Cliquez sur Tester sur un appareil.

69f6ea5efff240d1.png

  1. Ajoutez l'ID d'installation, puis cliquez sur Tester.

24b101edfab47144.png

  1. Rouvrir l'application
  2. Observer le message dans l'application

7. Félicitations

Félicitations, vous avez bien envoyé des messages FCM et FIAM. Vous savez maintenant comment interagir avec vos utilisateurs, qu'ils utilisent votre application au premier plan ou en arrière-plan.

Complément d'informations

Et ensuite ?

  • Envoyez des messages aux utilisateurs de votre propre application Android.

Documents de référence