1. Prima di iniziare
In questo codelab imparerai come aggiungere la possibilità di interagire con gli utenti sia che stiano usando la tua app in primo piano o che la tua app sia in background.
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 messaggio FIAM di prova alla tua app
Di cosa avrai bisogno
- Android Studio 4.1
- Dispositivo Android o emulatore
2. Inizia
Ottieni il codice di esempio
Clona il repository GitHub dalla riga di comando:
Importa l'app di avviamento
Da Android Studio, seleziona la codelab-fcm-and-fiam
( ). 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 su un file google-services.json mancante, non preoccuparti. Verrà aggiunto nel passaggio successivo.
3. Crea un progetto per la console Firebase
Aggiungi Firebase al progetto
- Vai alla console Firebase .
- Seleziona Aggiungi progetto .
- Seleziona o inserisci un nome di progetto.
- Segui i restanti passaggi di configurazione nella console Firebase, quindi fai clic su Crea progetto (o Aggiungi Firebase, se stai utilizzando un progetto Google esistente).
- Dalla schermata di panoramica del tuo 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 alla tua app
Dopo aver aggiunto il nome del pacchetto, fai clic su Registra app, quindi Scarica google-services.json per ottenere il file di configurazione Android di 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 l'applicazione per l'utilizzo di Firebase. La dipendenza del plug-in google-services e il plug-in stesso dovrebbero già essere aggiunti rispettivamente ai file di build a livello di progetto e 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 le seguenti dipendenze sono state 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'
}
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 gli identificatori per inviare messaggi alle app. FCM utilizza un token di registrazione e 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 tuo dispositivo Android e fai clic su Esegui (
)nella barra degli strumenti di Android Studio. Toccando il pulsante Log Identifiers registrerà 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. Invia messaggio FCM di prova
I messaggi FCM possono essere inviati sia dalla console Firebase che dall'API REST di 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 iniziale)
- Vai alla console Firebase e seleziona Cloud Messaging nella barra 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, quindi fai clic su prova
- Osservare la notifica di visualizzazione 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 varietà di eventi utente. Il messaggio di prova usa l'evento di apertura dell'app per attivare il messaggio nell'app. Invia un messaggio FIAM di prova tramite:
- Assicurati che l'app sia in background (vai alla schermata iniziale)
- Vai alla console Firebase e seleziona Messaggistica in-app nella barra di navigazione a sinistra
- Seleziona Crea la tua prima campagna
- Seleziona la campagna banner in alto e inserisci il titolo e il corpo del messaggio
- Fare clic su Prova sul dispositivo
- Aggiungi ID installazioni e fai clic su Test
- Riapri l'app
- Osserva nel messaggio dell'app
7. Congratulazioni
Congratulazioni, hai inviato con successo sia i messaggi FCM che FIAM. Ora sai come interagire con i tuoi utenti sia che stiano usando la tua app in primo piano o che la tua app sia in background.
Ulteriori letture
Qual è il prossimo
- Invia messaggi agli utenti nella tua app Android.