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 indipendentemente dal fatto che la tua app sia in primo piano o in background.

206c7ecece550bde.png

Prerequisiti

Nessuno

Cosa imparerai a fare

  • Aggiungere Firebase all'app per 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

Che cosa ti serve

  • Android Studio 4.1
  • Dispositivo o emulatore Android

2. Inizia

Ottieni il codice di esempio

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. Creare un progetto nella Console Firebase

Aggiungi Firebase al progetto

  1. Vai alla Console Firebase.
  2. Seleziona Aggiungi progetto.
  3. Seleziona o inserisci un nome per il 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. Nella schermata di panoramica del 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

Aggiungere il file google-services.json all'app

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

Aggiungere il plug-in google-services all'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 compilazione a livello di progetto e di app. Verifica 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à aggiunte al file di compilazione a livello di app. Verifica che le seguenti dipendenze siano aggiunte:

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 > Sincronizza progetto con i file Gradle dalla barra degli strumenti di Android Studio.

4. Identificatori di log

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

  1. In MainActivity.kt, sostituisci il TODO con il codice seguente per registrare gli identificatori necessari per inviare i 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 Log Identifiers (Logga identificatori), il token di registrazione FCM e l'ID installazioni Firebase verranno 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 delle notifiche 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 primo messaggio.
  4. Aggiungi un titolo e un corpo per il 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 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 banner in alto e inserisci il titolo e il corpo del messaggio
  5. Fai clic su Esegui test sul dispositivo.

69f6ea5efff240d1.png

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

24b101edfab47144.png

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

7. Complimenti

Congratulazioni, hai inviato correttamente i messaggi FCM e FIAM. Ora sai come interagire con gli utenti, indipendentemente dal fatto che stiano utilizzando la tua app in primo piano o in background.

Letture aggiuntive

Passaggi successivi

  • Invia messaggi agli utenti nella tua app per Android.

Documentazione di riferimento