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

1. Avant de commencer

Dans cet atelier de programmation, vous allez apprendre à interagir avec les utilisateurs, qu'ils utilisent votre application au premier plan ou en arrière-plan.

206c7ecece550bde.png

Conditions préalables

Aucune

Points abordés

  • Ajouter Firebase à votre application Android
  • Ajouter des 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. Commencer

Obtenir l'exemple de code

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

Importer l'application de démarrage

Dans Android Studio, sélectionnez le répertoire codelab-fcm-and-fiam ( android_studio_folder.png). Il s'agit de celui cloné à l'étape précédente (File > Open > .../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 inquiétez pas. Il sera ajouté à l'étape suivante.

3. Créer un projet dans la console Firebase

Ajouter Firebase au projet

  1. Accédez à la console Firebase.
  2. Sélectionnez Ajouter un projet.
  3. Sélectionnez ou saisissez un nom de projet.
  4. Suivez les autres étapes de configuration dans la console Firebase, puis cliquez sur Créer un projet (ou sur "Ajouter Firebase" si vous utilisez un projet Google existant).
  5. Sur l'écran "Vue d'ensemble" de votre nouveau projet, cliquez sur l'icône Android pour lancer le workflow de configuration.
  6. Saisissez le nom du package de l'atelier de programmation: com.google.firebase.codelab.fcmandfiam

Ajouter le fichier google-services.json à votre application

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 Android, puis copiez le fichier google-services.json dans le répertoire app de votre projet. Une fois le fichier téléchargé, vous pouvez cliquer sur Ignorer pour passer aux étapes suivantes affichées dans la console (elles ont déjà été effectuées pour vous dans le projet build-android-start).

Ajouter le plug-in google-services à votre application

Le plug-in google-services utilise le fichier google-services.json pour configurer votre application pour 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 doivent déjà être ajoutées au fichier de compilation 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 la messagerie dans l'application Firebase 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 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 d'Android Studio. Si vous appuyez sur le bouton Enregistrer les identifiants, le jeton d'enregistrement FCM et l'ID d'installation Firebase seront enregistrés dans logcat. Il 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 à la fois depuis la console Firebase et 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:

  1. Assurez-vous que l'application s'exécute en arrière-plan (accédez à l'écran d'accueil).
  2. Accédez à la console Firebase, puis 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 Test.

f3556c6a8a6453fe.png

  1. Observer l'affichage de la notification 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é par divers événements utilisateur. Le message de test utilise l'événement d'ouverture de l'application pour déclencher le message dans l'application. Envoyez un message FIAM test:

  1. Assurez-vous que l'application s'exécute en arrière-plan (accédez à l'écran d'accueil).
  2. Accédez à la console Firebase, puis sélectionnez "Messagerie dans l'application" 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 l'appareil.

69f6ea5efff240d1.png

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

24b101edfab47144.png

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

7. Félicitations

Félicitations, vous avez 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

Étape suivante

  • Envoyer des messages aux utilisateurs dans votre propre application Android

Documents de référence