Utilizza FCM e FIAM per inviare messaggi agli utenti

1. Prima di iniziare

In questo codelab imparerai come aggiungere la possibilità di interagire con gli utenti sia che utilizzino la tua app in primo piano sia che la tua app sia in background.

206c7ecece550bde.png

Prerequisiti

Nessuno

Cosa imparerai

  • Aggiungi Firebase alla tua app Android
  • Aggiungi le dipendenze FCM e FIAM
  • Invia un messaggio FCM di prova alla tua app
  • Invia un messaggio FIAM di prova alla tua app

Di cosa avrai bisogno

  • Android Studio 4.1
  • Dispositivo o emulatore Android

2. Inizia

Ottieni il codice di esempio

Clona il repository GitHub dalla riga di comando:

Importa l'app iniziale

Da Android Studio, seleziona la directory codelab-fcm-and-fiam ( android_studio_folder.png ). Sarebbe quello clonato nel passaggio precedente ( File > Apri > .../codelab-fcm-and-fiam).

Ora dovresti avere il progetto FcmAndFiam aperto in Android Studio. Se vedi un avviso relativo alla mancanza di un file google-services.json, non preoccuparti. Verrà aggiunto nel passaggio successivo.

3. Crea un progetto della console Firebase

Aggiungi Firebase al progetto

  1. Vai alla console Firebase .
  2. Seleziona Aggiungi progetto .
  3. Seleziona o inserisci un nome di progetto.
  4. Segui i restanti passaggi di configurazione nella console Firebase, quindi fai clic su Crea progetto (o Aggiungi Firebase, se utilizzi un progetto Google esistente).
  5. Dalla schermata panoramica del tuo nuovo progetto, fai clic sull'icona Android per avviare il flusso di lavoro di configurazione.
  6. Inserisci il nome del pacchetto del codelab: com.google.firebase.codelab.fcmandfiam

Aggiungi il file google-services.json alla tua app

Dopo aver aggiunto il nome del pacchetto, fai clic su Registra app, quindi su Scarica google-services.json per ottenere il file di configurazione Android Firebase, quindi copia il file google-services.json nella directory app nel tuo progetto. Dopo aver scaricato il file, puoi fare clic su Salta per i passaggi successivi mostrati nella console (sono già stati eseguiti per te nel progetto build-android-start).

Aggiungi il plug-in dei servizi Google alla tua app

Il plug-in google-services utilizza il file google-services.json per configurare la tua applicazione per utilizzare Firebase. La dipendenza del plug-in dei servizi Google e il plug-in stesso dovrebbero già essere aggiunti rispettivamente ai file di build a livello di progetto e di app. Conferma le seguenti voci:

build.gradle

buildscript {
  ...
  dependencies {
    ...
    classpath 'com.google.gms:google-services:4.3.8'
  }
}

app/build.gradle

plugins {
  ...
  id: 'com.google.gms.google-services'
}

Aggiungi dipendenze

FCM e FIAM richiedono le seguenti dipendenze. Queste dipendenze dovrebbero già essere aggiunte al file di build a livello di app. Conferma che siano state aggiunte le seguenti dipendenze:

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'
}

Sincronizza il tuo progetto con i file Gradle

Per essere sicuro che tutte le dipendenze siano disponibili per la tua app, a questo punto dovresti sincronizzare il tuo progetto con i file Gradle. Seleziona File > Sincronizza progetto con file Gradle dalla barra degli strumenti di Android Studio.

4. Identificatori di registro

Firebase Cloud Messaging e Firebase In App Messaging utilizzano entrambi identificatori per inviare messaggi alle app. FCM utilizza un token di registrazione e FIAM utilizza un ID di installazione.

  1. In MainActivity.kt sostituisci TODO con il codice seguente per registrare gli identificatori necessari per inviare messaggi:
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. Collega il tuo dispositivo Android e fai clic su Esegui ( eseguire.png )nella barra degli strumenti di Android Studio. Toccando il pulsante Identificatori registro si registreranno il token di registrazione FCM e l'ID installazioni Firebase su logcat. L'output dovrebbe assomigliare a questo:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. Inviare un messaggio FCM di prova

I messaggi FCM possono essere inviati sia dalla console Firebase che dall'API REST FCM. In questo codelab comporremo un messaggio di notifica FCM e lo invieremo al nostro dispositivo. I messaggi di notifica sono quelli visualizzati nell'area di notifica del sistema. Invia un messaggio FCM di prova tramite:

  1. Assicurati che l'app sia in background (vai alla schermata principale)
  2. Vai alla console Firebase e seleziona Cloud Messaging nel riquadro di navigazione a sinistra
  3. Seleziona Invia il tuo primo messaggio
  4. Aggiungi un titolo e un corpo al messaggio, quindi fai clic su Invia messaggio di prova

207ced65f5245ada.png

  1. Aggiungi il token di registrazione FCM, quindi fai clic su Test

f3556c6a8a6453fe.png

  1. Osserva la notifica visualizzata sul dispositivo
  2. Toccando la notifica si apre l'app

6. Invia messaggio FIAM di prova

Firebase In App Messaging può essere attivato a seguito di una serie di eventi utente. Il messaggio di prova usa l'evento di apertura dell'app per attivare il messaggio In App. Invia un messaggio FIAM di prova tramite:

  1. Assicurati che l'app sia in background (vai alla schermata principale)
  2. Vai alla console Firebase e seleziona Messaggistica in-app nel riquadro di navigazione a sinistra
  3. Seleziona Crea la tua prima campagna
  4. Seleziona la campagna banner principale e inserisci il titolo e il corpo del messaggio
  5. Fare clic su Prova sul dispositivo

69f6ea5efff240d1.png

  1. Aggiungi l'ID di installazione e fai clic su Test

24b101edfab47144.png

  1. Riapri l'app
  2. Osservare nel messaggio dell'app

7. Congratulazioni

Congratulazioni, hai inviato con successo sia i messaggi FCM che quelli FIAM. Ora sai come interagire con i tuoi utenti sia che utilizzino la tua app in primo piano sia che la tua app sia in background.

Ulteriori letture

Qual è il prossimo

  • Invia messaggi agli utenti nella tua app Android.

Documenti di riferimento