Envoyer un message de test à une application en arrière-plan

Pour commencer à utiliser FCM, créez le cas d'utilisation le plus simple : envoyer un message de notification de test à partir du compilateur de notifications vers un appareil de développement lorsque l'application est en arrière-plan sur l'appareil. Cette page liste toutes les étapes à suivre, de la configuration à la validation Elle peut couvrir des étapes que vous avez déjà effectuées Vous devez avoir configuré une application cliente Android. pour FCM.

Configurez le SDK

Cette section décrit les tâches que vous avez peut-être effectuées si vous avez déjà activé d'autres fonctionnalités Firebase pour votre application.

Avant de commencer

  • Installez ou mettez à jour Android Studio. vers sa dernière version.

  • Assurez-vous que votre projet respecte ces exigences (certains produits peuvent imposer des exigences plus strictes):

    • Cible le niveau d'API 19 (KitKat) ou supérieur
    • Android 4.4 ou version ultérieure
    • Utilisations Jetpack (AndroidX) ce qui implique de répondre aux exigences de version suivantes: <ph type="x-smartling-placeholder">
        </ph>
      • com.android.tools.build:gradle v7.3.0 ou version ultérieure
      • compileSdkVersion 28 ou version ultérieure
  • Configurez un appareil physique ou utilisez un émulateur pour exécuter votre application.
    Notez que les SDK Firebase dépendant des services Google Play nécessitent que les services Google Play soient installés sur l'appareil ou l'émulateur.

  • Connectez-vous à Firebase à l'aide de votre compte de service.

Si vous n'avez pas encore de projet Android et que vous souhaitez simplement essayer un projet Firebase vous pouvez télécharger l'un de nos exemples de démarrage rapide.

Créer un projet Firebase

Avant de pouvoir ajouter Firebase à votre application Android, vous devez créer un projet Firebase pour vous y connecter. Pour en savoir plus sur les projets Firebase, consultez la page Comprendre les projets Firebase.

Enregistrer votre application auprès de Firebase

Pour utiliser Firebase dans votre application Android, vous devez enregistrer votre application auprès de votre projet Firebase. L'enregistrement de votre application est souvent appelé "ajout" votre application à votre projet.

  1. Accédez à la console Firebase.

  2. Au centre de la page de présentation du projet, cliquez sur l'icône Android () ou sur Ajouter une application pour lancer le processus de configuration.

  3. Saisissez le nom de package de votre application dans le champ Nom du package Android.

  4. (Facultatif) Saisissez d'autres informations sur l'application: Pseudo de l'application et Certificat de signature de débogage SHA-1.

  5. Cliquez sur Enregistrer l'application.

Ajouter un fichier de configuration Firebase

  1. Télécharger et ajouter le fichier de configuration Firebase pour Android (google-services.json) à votre application:

    1. Cliquez sur Download google-services.json (Télécharger google-services.json) pour obtenir votre fichier Firebase Android fichier de configuration.

    2. Déplacez votre fichier de configuration dans le répertoire racine module (au niveau de l'application) de votre application.

  2. Pour rendre les valeurs de votre fichier de configuration google-services.json accessibles aux SDK Firebase, vous devez disposer Plug-in Gradle des services Google (google-services).

    1. Dans votre fichier Gradle au niveau racine (au niveau du projet) (<project>/build.gradle.kts ou <project>/build.gradle), ajoutez la Plug-in de services Google en tant que dépendance:

      Kotlin

      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
      }

      Groovy

      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. Dans le fichier Gradle de votre module (au niveau de l'application) (généralement <project>/<app-module>/build.gradle.kts ou <project>/<app-module>/build.gradle), Ajoutez le plug-in de services Google:

      Kotlin

      plugins {
        id("com.android.application")
      
        // Add the Google services Gradle plugin
        id("com.google.gms.google-services")
        // ...
      }

      Groovy

      plugins {
        id 'com.android.application'
      
        // Add the Google services Gradle plugin
        id 'com.google.gms.google-services'
        // ...
      }

Ajouter les SDK Firebase à votre application

  1. Dans le fichier Gradle de votre module (au niveau de l'application) (généralement <project>/<app-module>/build.gradle.kts ou <project>/<app-module>/build.gradle), ajoutez la dépendance pour la bibliothèque Firebase Cloud Messaging pour Android. Nous vous recommandons d'utiliser Firebase Android BoM pour contrôler le contrôle des versions de la bibliothèque.

    Pour une expérience optimale avec Firebase Cloud Messaging, nous vous recommandons activation de Google Analytics dans votre projet Firebase et d'ajouter le SDK Firebase pour Google Analytics à votre application.

    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:33.2.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")
    }

    En utilisant Firebase Android BoM, votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.

    (Alternative) Ajouter des dépendances de la bibliothèque Firebase sans utiliser l'BoM

    Si vous choisissez de ne pas utiliser Firebase BoM, vous devez spécifier chaque version de la bibliothèque Firebase dans sa ligne de dépendance.

    Notez que si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons vivement d'utiliser BoM pour gérer les versions de la bibliothèque, ce qui garantit que toutes les versions sont compatibles.

    dependencies {
        // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation("com.google.firebase:firebase-messaging:24.0.1")
        implementation("com.google.firebase:firebase-analytics:22.1.0")
    }
    Vous recherchez un module de bibliothèque spécifique à Kotlin ? Début dans Octobre 2023 (Firebase BoM 32.5.0), les développeurs Kotlin et Java peuvent dépendent du module de bibliothèque principal (pour en savoir plus, consultez Questions fréquentes sur cette initiative).

  2. Synchronisez votre projet Android avec les fichiers Gradle.

Accéder au jeton d'enregistrement

Pour envoyer un message à un appareil spécifique, vous devez connaître son un jeton d'enregistrement unique. Comme vous devrez saisir le jeton dans un champ de la console Notifications pour terminer ce tutoriel, assurez-vous de le copier ou de le stocker de manière sécurisée après l'avoir récupéré.

Au démarrage initial de votre application, le SDK FCM génère un enregistrement pour l'instance de l'application cliente. Si vous souhaitez cibler des appareils ou créer des groupes d'appareils, vous devrez accéder à ce jeton en étendant FirebaseMessagingService et en remplaçant onNewToken.

Cette section explique comment récupérer le jeton et surveiller les modifications au jeton. Comme le jeton peut faire l'objet d'une rotation au démarrage, il est fortement recommandé de récupérer le dernier enregistrement mis à jour à partir d'un jeton d'accès.

Le jeton d'enregistrement peut changer dans les cas suivants:

  • L'appli est restaurée sur un nouvel appareil
  • L'utilisateur désinstalle/réinstalle l'application.
  • L'utilisateur efface les données de l'application.

Récupérer le jeton d'enregistrement actuel

Lorsque vous devez récupérer le jeton actuel, appelez FirebaseMessaging.getInstance().getToken():

Kotlin+KTX

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()
})

Java

FirebaseMessaging.getInstance().getToken()
    .addOnCompleteListener(new OnCompleteListener<String>() {
        @Override
        public void onComplete(@NonNull Task<String> task) {
          if (!task.isSuccessful()) {
            Log.w(TAG, "Fetching FCM registration token failed", task.getException());
            return;
          }

          // Get new FCM registration token
          String token = task.getResult();

          // Log and toast
          String msg = getString(R.string.msg_token_fmt, token);
          Log.d(TAG, msg);
          Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
        }
    });

Surveiller la génération de jetons

Le rappel onNewToken se déclenche chaque fois qu'un nouveau jeton est généré.

Kotlin+KTX

/**
 * Called if the FCM registration token is updated. This may occur if the security of
 * the previous token had been compromised. Note that this is called when the
 * FCM registration token is initially generated so this is where you would retrieve the token.
 */
override fun onNewToken(token: String) {
    Log.d(TAG, "Refreshed token: $token")

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // FCM registration token to your app server.
    sendRegistrationToServer(token)
}

Java

/**
 * There are two scenarios when onNewToken is called:
 * 1) When a new token is generated on initial app startup
 * 2) Whenever an existing token is changed
 * Under #2, there are three scenarios when the existing token is changed:
 * A) App is restored to a new device
 * B) User uninstalls/reinstalls the app
 * C) User clears app data
 */
@Override
public void onNewToken(@NonNull String token) {
    Log.d(TAG, "Refreshed token: " + token);

    // If you want to send messages to this application instance or
    // manage this apps subscriptions on the server side, send the
    // FCM registration token to your app server.
    sendRegistrationToServer(token);
}

Une fois le jeton obtenu, vous pouvez l'envoyer à votre serveur d'applications et à votre magasin en utilisant votre méthode préférée.

Envoyer un message de notification test

  1. Installez et exécutez l'application sur l'appareil cible. Sur les appareils Apple, vous aurez besoin des éléments suivants : pour accepter la demande d'autorisation de recevoir des notifications à distance.

  2. Assurez-vous que l'application s'exécute en arrière-plan sur l'appareil.

  3. Dans la console Firebase, ouvrez la page Messagerie.

  4. S'il s'agit de votre premier message, sélectionnez Créez votre premier la campagne.

    1. Sélectionnez Messages de notification Firebase, puis Créer.
  5. Sinon, dans l'onglet Campagnes, sélectionnez Nouvelle campagne. puis sur Notifications.

  6. Saisissez le texte du message. Tous les autres sont facultatifs.

  7. Sélectionnez Envoyer un message de test dans le volet de droite.

  8. Dans le champ Ajouter un jeton d'enregistrement FCM, saisissez l'enregistrement que vous avez obtenu dans une section précédente de ce guide.

  9. Sélectionnez Tester.

Après avoir sélectionné Tester, l'appareil du client ciblé (dont l'application est dans en arrière-plan) doit recevoir la notification.

Pour en savoir plus sur la distribution de messages dans votre application, consultez le <ph type="x-smartling-placeholder"></ph> FCM, tableau de bord de reporting, qui enregistre le nombre de messages envoyés et ouverts sur des appareils Apple et Android, ainsi que de données sur les "impressions" (notifications visibles par les utilisateurs) pour les applications Android.

Étapes suivantes

Envoyer des messages aux applis au premier plan

Une fois que vous avez envoyé des messages de notification lorsque votre application est dans en arrière-plan, voir Recevoir des messages dans une application Android pour commencer à envoyer des messages à des applications installées au premier plan.

Aller au-delà des messages de notification

Pour aller au-delà des messages de notification et ajouter d'autres comportements plus avancés à votre consultez la page suivante: