Utilisez FCM et FIAM pour envoyer des messages aux utilisateurs

1. Avant de commencer

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

206c7ecece550bde.png

Conditions préalables

Aucun

Ce que vous apprendrez

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

Ce dont vous aurez besoin

  • AndroidStudio 4.1
  • Appareil ou émulateur Android

2. Commencez

Obtenez l'exemple de code

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

Importer l'application de démarrage

Depuis Android Studio, sélectionnez le répertoire codelab-fcm-and-fiam ( android_studio_folder.png ). Ce serait celui cloné à l'étape précédente ( Fichier > Ouvrir > .../codelab-fcm-and-fiam).

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

3. Créer un projet de console Firebase

Ajouter Firebase au projet

  1. Accédez à la console Firebase .
  2. Sélectionnez Ajouter un projet .
  3. Sélectionnez ou entrez un nom de projet.
  4. Suivez les étapes de configuration restantes dans la console Firebase, puis cliquez sur Créer un projet (ou Ajouter Firebase, si vous utilisez un projet Google existant).
  5. Depuis l'écran de présentation 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

Ajoutez le fichier google-services.json à votre application

Après avoir ajouté le nom du package, cliquez sur Enregistrer l'application, puis sur 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).

Ajoutez le plug-in des services Google à votre application

Le plugin google-services utilise le fichier google-services.json pour configurer votre application afin qu'elle utilise Firebase. La dépendance du plugin google-services et le plugin lui-même doivent déjà être ajoutés respectivement aux fichiers de construction au niveau du projet et de l'application. 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 build au niveau de l'application. Confirmez 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'
}

Synchronisez votre projet avec les fichiers Gradle

Pour être sûr que toutes les dépendances sont disponibles pour votre application, vous devez à ce stade synchroniser votre projet avec les fichiers Gradle. Sélectionnez Fichier > Synchroniser le projet avec les fichiers Gradle dans la barre d'outils Android Studio.

4. Identifiants de journal

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 et FIAM utilise un ID d'installation.

  1. Dans MainActivity.kt remplacez le TODO par le code ci-dessous pour enregistrer 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 et cliquez sur Exécuter ( exécuter.png )dans la barre d'outils Android Studio. En appuyant sur le bouton Log Identifiers , vous enregistrerez le jeton d'enregistrement FCM et l'ID d'installation Firebase dans logcat. Le résultat devrait ressembler à ceci :
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 depuis l'API REST FCM. Dans cet atelier de programmation, nous allons rédiger un message de notification FCM et l'envoyer à notre appareil. Les messages de notification sont ceux qui sont affichés dans la zone de notification du système. Envoyez un message FCM de test par :

  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 volet de navigation de gauche.
  3. Sélectionnez Envoyer votre premier message
  4. Ajoutez un titre et un corps pour le 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 d'essai FIAM

La messagerie Firebase In App peut être déclenchée à 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 In App. Envoyez un message d'essai FIAM par :

  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 intégrée à l'application dans le volet de navigation de gauche.
  3. Sélectionnez Créer votre première campagne
  4. Sélectionnez la meilleure campagne de bannières et saisissez le titre et le corps du message
  5. Cliquez sur Test sur l'appareil

69f6ea5efff240d1.png

  1. Ajoutez l'ID d'installation et cliquez sur Test

24b101edfab47144.png

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

7. Félicitations

Félicitations, vous avez envoyé avec succès les messages FCM et FIAM. Vous savez désormais comment interagir avec vos utilisateurs, qu'ils utilisent votre application au premier plan ou que votre application soit en arrière-plan.

Lectures complémentaires

Et après

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

Documents de référence