Utilisez FCM et FIAM pour envoyer des messages aux utilisateurs

1. Avant de commencer

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

206c7ecece550bde.png

Conditions préalables

Aucun

Ce que vous apprendrez

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

Ce dont vous aurez besoin

  • AndroidStudio 4.1
  • Appareil ou émulateur Android

2. Commencez

Obtenir 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).

Vous devriez maintenant avoir le projet FcmAndFiam 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 du laboratoire 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 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 les étapes suivantes affichées dans la console (elles ont déjà été effectuées pour vous dans le projet build-android-start).

Ajoutez le plugin 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 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 génération 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'
}

Synchronisez votre projet avec des fichiers graduels

Pour être sûr que toutes les dépendances sont disponibles pour votre application, vous devez synchroniser votre projet avec les fichiers gradle à ce stade. 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 pour envoyer des 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 d'Android Studio. Appuyez sur le bouton Log Identifiers pour enregistrer le jeton d'enregistrement FCM et l'ID d'installation Firebase dans logcat. La sortie 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 FCM REST. Dans cet atelier de programmation, nous composerons un message de notification FCM et l'enverrons à notre appareil. Les messages de notification sont ceux qui sont affichés dans la zone de notification du système. Envoyez un message test FCM par :

  1. Assurez-vous que l'application est en arrière-plan (allez à l'écran d'accueil)
  2. Accédez à la console Firebase et sélectionnez Cloud Messaging dans la 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 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 d'application pour déclencher le message In App. Envoyez un message test FIAM par :

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

69f6ea5efff240d1.png

  1. Ajoutez un ID d'installation et cliquez sur Tester

24b101edfab47144.png

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

7. Félicitations

Félicitations, vous avez réussi à envoyer les messages FCM et FIAM. Vous savez maintenant comment interagir avec vos utilisateurs, qu'ils utilisent votre application au premier plan ou qu'elle 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