Utilizzare FCM e FIAM per inviare messaggi agli utenti

1. Prima di iniziare

In questo codelab, imparerai ad aggiungere la possibilità di interagire con gli utenti sia quando utilizzano la tua app in primo piano sia quando è in background.

206c7ecece550bde.png

Prerequisiti

Nessuno

Cosa imparerai a fare

  • Aggiungi Firebase alla tua app Android
  • Aggiungi dipendenze FCM e FIAM
  • Inviare un messaggio FCM di test alla tua app
  • Inviare un messaggio di test FIAM alla tua app

Che cosa ti serve

  • Android Studio 4.1
  • Dispositivo o emulatore Android

2. Inizia

Recupera il codice campione

Clona il repository GitHub dalla riga di comando:

Importare l'app iniziale

In Android Studio, seleziona la directory codelab-fcm-and-fiam ( android_studio_folder.png). Dovrebbe essere quella clonata nel passaggio precedente (File > Apri > .../codelab-fcm-and-fiam).

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

3. Configura un progetto Firebase e la tua app per utilizzare Firebase

Crea un progetto Firebase

  1. Accedi alla console Firebase utilizzando il tuo Account Google.
  2. Fai clic sul pulsante per creare un nuovo progetto, quindi inserisci un nome (ad esempio, Send messages codelab).
  3. Fai clic su Continua.
  4. Se richiesto, leggi e accetta i termini di Firebase, quindi fai clic su Continua.
  5. (Facoltativo) Attiva l'assistenza AI nella console Firebase (denominata "Gemini in Firebase").
  6. Per questo codelab, hai bisogno di Google Analytics per utilizzare in modo ottimale i prodotti Firebase, quindi mantieni l'opzione attiva per Google Analytics. Segui le istruzioni sullo schermo per configurare Google Analytics.
  7. Fai clic su Crea progetto, attendi il provisioning del progetto, poi fai clic su Continua.

Aggiungi Firebase alla tua app

  1. Nella schermata di riepilogo del nuovo progetto, fai clic sull'icona Android per avviare il flusso di lavoro di configurazione.
  2. Inserisci il nome del pacchetto del codelab: com.google.firebase.codelab.fcmandfiam
  3. Dopo aver aggiunto il nome del pacchetto, fai clic su Registra app, poi su Scarica google-services.json per ottenere il file di configurazione Firebase Android, quindi copia il file google-services.json nella directory app del 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).
  4. Aggiungi il plug-in google-services alla tua app**
    Il plug-in google-services utilizza il file google-services.json per configurare l'applicazione in modo che utilizzi Firebase. La dipendenza del plug-in google-services e il plug-in stesso dovrebbero essere già stati 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'
    }
    

Aggiungere dipendenze

FCM e FIAM richiedono le seguenti dipendenze. Queste dipendenze dovrebbero essere già state aggiunte al file di build a livello di app. Verifica 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'
}

Sincronizzare il progetto con i file Gradle

Per assicurarti che tutte le dipendenze siano disponibili per la tua app, a questo punto devi sincronizzare il progetto con i file Gradle. Seleziona File > Sync Project with Gradle Files dalla barra degli strumenti di Android Studio.

4. Identificatori di log

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

  1. In MainActivity.kt sostituisci TODO con il codice riportato di seguito 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 dispositivo Android e fai clic su Esegui ( execute.png) nella barra degli strumenti di Android Studio. Se tocchi il pulsante Registra identificatori, il token di registrazione FCM e l'ID installazioni Firebase vengono registrati in logcat. L'output dovrebbe essere simile al seguente:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. Invia messaggio FCM di prova

I messaggi FCM possono essere inviati sia dalla console Firebase sia 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:

  1. Assicurati che l'app sia in background (vai alla schermata Home)
  2. Vai alla console Firebase e seleziona Cloud Messaging nel menu di navigazione a sinistra.
  3. Seleziona Invia il tuo primo messaggio.
  4. Aggiungi un titolo e il corpo del messaggio, poi 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 sul display del dispositivo
  2. Se tocchi la notifica, si apre l'app

6. Invia messaggio FIAM di prova

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

  1. Assicurati che l'app sia in background (vai alla schermata Home)
  2. Vai alla console Firebase e seleziona Messaggistica in-app nel menu di navigazione a sinistra.
  3. Seleziona Crea la tua prima campagna.
  4. Seleziona la campagna con banner nella parte superiore della pagina e inserisci il titolo e il corpo del messaggio.
  5. Fai clic su Test sul dispositivo.

69f6ea5efff240d1.png

  1. Aggiungi l'ID installazioni e fai clic su Testa.

24b101edfab47144.png

  1. Riapri l'app
  2. Osserva il messaggio in-app

7. Complimenti

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

Further reading

Passaggi successivi

  • Invia messaggi agli utenti nella tua app per Android.

Documenti di riferimento