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.
Prerequisiti
Nessuno
Cosa imparerai a fare
- Aggiungi Firebase alla tua 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
- emulatore o dispositivo Android
2. Inizia
Ottieni 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
( ). Dovrebbe essere quella clonata nel passaggio precedente (File > Apri > .../codelab-fcm-and-fiam).
Ora il progetto FcmAndFiam dovrebbe essere aperto in Android Studio. Se viene visualizzato un avviso relativo alla mancanza di un file google-services.json, non preoccuparti. Verrà aggiunto nel passaggio successivo.
3. Crea progetto della console Firebase
Aggiungi Firebase al progetto
- Vai alla Console Firebase.
- Seleziona Aggiungi progetto.
- Seleziona o inserisci un nome per il progetto.
- Segui i restanti passaggi di configurazione nella Console Firebase, quindi fai clic su Crea progetto (o Aggiungi Firebase, se utilizzi un progetto Google esistente).
- Nella schermata di panoramica del nuovo progetto, fai clic sull'icona Android per avviare il flusso di lavoro di configurazione.
- Inserisci il nome del pacchetto del codelab:
com.google.firebase.codelab.fcmandfiam
Aggiungi 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. Al termine del download del file, puoi fare clic su Ignora per i passaggi successivi mostrati nella console (che 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. 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 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 il progetto con i file Gradle dalla barra degli strumenti di Android Studio.
4. Identificatori di log
Firebase Cloud Messaging e la messaggistica in-app Firebase utilizzano entrambi identificatori per inviare messaggi alle app. FCM utilizza un token di registrazione, mentre FIAM utilizza un ID di installazione.
- 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)
}
}
- Collega il dispositivo Android e fai clic su Esegui (
) nella barra degli strumenti di Android Studio. Toccando il pulsante Identificatori di log, 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 di notifica del sistema. Invia un messaggio FCM di prova tramite:
- Assicurati che l'app sia in background (vai alla schermata Home)
- Vai alla Console Firebase e seleziona Cloud Messaging nel menu di navigazione a sinistra.
- Seleziona Invia il tuo primo messaggio.
- Aggiungi un titolo e un corpo per il messaggio, quindi fai clic su Invia messaggio di prova.
- Aggiungi il token di registrazione FCM, poi fai clic su test
- Osserva la notifica visualizzata sul dispositivo
- 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:
- Assicurati che l'app sia in background (vai alla schermata Home)
- Vai alla console Firebase e seleziona In-App Messaging nel menu di navigazione a sinistra
- Seleziona Crea la tua prima campagna.
- Seleziona la campagna banner in alto e inserisci titolo e corpo del messaggio
- Fai clic su Testa sul dispositivo.
- Aggiungi l'ID installazioni e fai clic su Test.
- Riapri l'app
- Osserva il messaggio in-app
7. Complimenti
Congratulazioni. Hai inviato entrambi i messaggi FCM e FIAM. Ora sai come interagire con i tuoi utenti sia che utilizzino la tua app in primo piano o in background.
Per approfondire
Passaggi successivi
- Invia messaggi agli utenti nella tua app per Android.