1. Introduzione
Obiettivi
In questo codelab imparerai come strumentare la tua app multipiattaforma in modo da poter trasmettere in multicast messaggi push a vari sottogruppi delle istanze della tua app utilizzando argomenti FCM.
Una volta terminato, sarai in grado di sfruttare l'infrastruttura FCM per gestire questi sottogruppi nonché i messaggi push multicast sui sottogruppi.
Panoramica degli argomenti
Gli argomenti sono un modo supportato dall'infrastruttura FCM per raggiungere sottogruppi delle istanze dell'app con messaggi.
FCM fornisce le API per inviare messaggi e mantenere gli abbonamenti a questi argomenti. L'atto di associare e dissociare un'istanza dell'app all'argomento è chiamato rispettivamente iscrizione e annullamento dell'iscrizione
Gli argomenti dovrebbero essere utilizzati per contenuti disponibili al pubblico. Ad esempio, messaggi sugli aggiornamenti meteo. Se desideri inviare messaggi sensibili all'utente, utilizza Firebase Admin SDK per trasmettere messaggi multicast su più dispositivi .
Il multicasting basato sugli argomenti è ottimizzato per il throughput.
Cosa imparerai
- Come iscrivere (e annullare l'iscrizione) gli utenti agli argomenti da un'app mobile.
- Come inviare messaggi push multicast utilizzando gli argomenti.
- Come inviare messaggi a una combinazione di argomenti utilizzando le condizioni dell'argomento.
- Come gestire gli abbonamenti agli argomenti sul lato server ed eseguire abbonamenti e annullamenti in blocco.
Cosa costruirai
- Un'app Android che si iscrive/annulla l'iscrizione agli argomenti e riceve messaggi quando vengono inviati agli argomenti.
- Un'integrazione lato server che utilizza Firebase Admin SDK, che verrà utilizzato per inviare messaggi di argomento tramite API FCM.
Di cosa avrai bisogno
- Un browser a tua scelta, come Chrome.
- IntelliJ IDEA IDE per lo sviluppo di applicazioni Java.
- Assicurati di attivare il supporto per Gradle durante l'installazione.
- Android Studio IDE per lo sviluppo di applicazioni Android.
- Un dispositivo per eseguire l'applicazione Android. Entrambi:
- L'emulatore Android. (Richiede la configurazione in Android Studio ).
- Un dispositivo Android fisico collegato al computer e impostato in modalità sviluppatore.
- Un account Google per creare e gestire il tuo progetto Firebase.
2. Preparazione
Ottieni il codice
Clona il repository GitHub dalla riga di comando:
git clone https://github.com/firebase/quickstart-android.git fcm-codelab
Il codice di esempio verrà clonato nella directory fcm-codelab
.
cd fcm-codelab
L'app iniziale per questo codelab si trova nella directory messaging
del ramo fcm-topics-codelab
. Procedi nel seguente modo per raggiungere il codice di avviamento. Contiene due directory StockNewsApp
e StockNewsServer
. Il primo contiene l'app Android iniziale e il secondo ha il codice lato server iniziale.
git checkout fcm-topics-codelab cd messaging/fcm-topics-codelab/starter
La versione completa di questo codelab viene inserita nella directory messaging/fcm-topics-codelab/completed
.
Crea un progetto Firebase
- Nella console Firebase , fai clic su Aggiungi progetto , assegna il nome StockNews al progetto Firebase e fai clic su Continua. Nota: ricorda l'ID progetto per il tuo progetto Firebase (o fai clic sull'icona Modifica per impostare l'ID progetto preferito).
- Puoi saltare l'attivazione di Google Analytics. Ai fini di questo codelab, non ti serve. Fare clic su Continua.
- Fare clic su Crea progetto .
Congratulazioni! Hai appena creato il tuo progetto Firebase. Ora puoi fare clic sul nome del progetto per accedere alla console.
3. Configurazione dell'app Firebase specifica della piattaforma
La maggior parte delle modifiche al codice necessarie per abilitare il supporto Firebase sono già archiviate nel progetto su cui stai lavorando. Tuttavia, per aggiungere il supporto per le piattaforme mobili, è necessario:
- Registra la piattaforma desiderata sul progetto Firebase
- Scarica il file di configurazione specifico della piattaforma e aggiungilo al codice.
Ai fini di questo codelab, aggiungeremo un'app Android Firebase.
Configura Android
- Nella console Firebase , seleziona Impostazioni progetto nella parte superiore della barra di navigazione sinistra nell'icona Impostazioni e fai clic sull'icona Android sotto Le tue app nella pagina Generale .
Dovresti vedere la seguente finestra di dialogo:
- Il valore importante da fornire è il nome del pacchetto Android . Impostalo su
com.ticker.stocknews
.- Il nome del pacchetto fornito qui deve essere uguale a quello fornito nel
AndroidManifest.xml
del codice StockNewsApp iniziale. Se desideri individuarlo o modificarlo, procedi nel seguente modo:- Nella directory StockNewsApp , apri il file
app/src/main/AndroidManifest.xml
. - Nell'elemento
manifest
, trova il valore stringa dell'attributopackage
. Questo valore è il nome del pacchetto Android.
- Nella directory StockNewsApp , apri il file
- Il nome del pacchetto fornito qui deve essere uguale a quello fornito nel
- Nella finestra di dialogo Firebase, incolla il nome del pacchetto copiato nel campo del nome del pacchetto Android .
- Non è necessario il certificato di firma di debug SHA-1 per questo codelab perché questa app non verrà rilasciata. Lascialo vuoto.
- Fare clic su Registra app .
- Proseguendo nella Console Firebase, segui le istruzioni per scaricare il file di configurazione
google-services.json
. - Puoi saltare i restanti passaggi di configurazione, poiché tutto il resto è già configurato nel codice dell'app iniziale. Troverai la tua app elencata nella pagina principale di Firebase Console.
- Copia il file
google-services.json
(appena scaricato) nella directorymessaging/fcm-topics-codelab/starter/StockNewsApp/app
.
4. Crea ed esegui la tua app
Sei pronto per iniziare effettivamente a lavorare sulla tua app! Innanzitutto, crea ed esegui l'app.
Importa l'app iniziale
Avvia Android Studio e importa il messaging/fcm-topics-codelab/starter/StockNewsApp
dalla directory del codice iniziale.
Dopo che il progetto è stato caricato, potresti anche vedere un avviso che Git non sta monitorando tutte le modifiche locali, puoi fare clic su " Ignora " o sulla " X " in alto a destra. (Non reimposterai alcuna modifica nel repository Git.)
Nell'angolo in alto a sinistra della finestra del progetto, dovresti vedere qualcosa di simile all'immagine qui sotto se ti trovi nella visualizzazione Android . (Se sei nella vista Progetto , dovrai espandere il progetto per vedere la stessa cosa)
Tieni presente che Android Studio potrebbe impiegare diversi secondi per compilare il progetto in background per la prima volta. Durante questo periodo vedrai uno spinner nella barra di stato nella parte inferiore di Android Studio:
Ti consigliamo di attendere il completamento dell'operazione prima di apportare modifiche al codice. Ciò consentirà ad Android Studio di inserire tutti i componenti necessari.
Inoltre, se ricevi il messaggio "Ricarica per rendere effettive le modifiche alla lingua?" o qualcosa di simile, seleziona "Sì".
Configurazione dell'emulatore
Se hai bisogno di aiuto per configurare un emulatore Android, fai riferimento all'articolo Esegui la tua app .
Comprendere il codice di avvio dell'app Android
- Il codice iniziale è un'app Android leggera con funzionalità e interfaccia utente minime.
- Una dipendenza dall'SDK di Firebase-Messaging è già stata aggiunta al file
app/build.gradle
.
- In
AndroidManifest.xml
è già aggiunto un gestore di callbackMESSAGING_EVENT
.- Questo gestore,
StockNewsMessagingService.java
, estende la classeFirebaseMessagingService
che fornisce varie funzionalità correlate a Firebase Cloud Messaging. Consulta la documentazione di FirebaseMessagingService per ulteriori informazioni.
- La funzione
onNewToken
viene chiamata quando il token di registrazione FCM viene creato o aggiornato. Per ulteriori informazioni, consulta Monitorare la generazione dei token . - La funzione
onMessageReceived
viene chiamata quando viene ricevuto un messaggio e l'app è in primo piano. Attualmente registra semplicemente il messaggio ricevuto.- Vedi Ricevere messaggi in un'app Android per ulteriori informazioni sulle differenze tra il recapito e la gestione dei messaggi in background e in primo piano.
- Questo gestore,
- Inoltre, in
AndroidManifest.xml
, viene fornita anche una classeApplication
Android denominataStockNewsApplication
.- Questa classe sarà la prima ad essere istanziata all'avvio dell'App.
- Nella funzione
onCreate
della classeStockNewsApplication
, viene aggiunta una chiamata per la creazione del token di registrazione FCM. Genererà un token di registrazione FCM valido e lo registrerà.
-
MainActivity.java
aggiungeRecyclerView
che visualizza le scelte della categoria stock. -
SubscriptionAdapter.java
implementaRecyclerView.Adapter
che disegna la schermata di selezione della categoria stock.- Ciascuna categoria di azioni ha un nome e un pulsante di abbonamento accanto ad essa.
- La modifica dell'interruttore dovrebbe effettuare una chiamata di iscrizione/annullamento iscrizione a un argomento FCM.
- Implementerai questi inviti nelle prossime sezioni.
- La classe
model/StockCategories.java
contiene un elenco di tutte le categorie di stock e i nomi degli argomenti associati.
Esegui l'app iniziale
- Collega il tuo dispositivo Android al computer o avvia un emulatore.
- Nella barra degli strumenti in alto, seleziona il tuo dispositivo Android o emulatore di destinazione e premi il pulsante Esegui.
- L'interfaccia utente dell'app sarà simile alla seguente:
- L'app creerà un token di registrazione FCM e lo registrerà. Tuttavia non cambierà nulla nell'interfaccia utente dell'app.
- Copia e salva il token di registrazione FCM poiché verrà utilizzato nei passaggi successivi.
5. Invia un messaggio di prova
Ora sei pronto per inviare un messaggio di prova all'istanza dell'app che hai configurato nell'ultimo passaggio.
Importa il codice del server iniziale
Avvia IntelliJ IDEA e apri il progetto messaging/fcm-topics-codelab/starter/StockNewsServer
.
La vista del progetto nella barra di navigazione a sinistra dovrebbe assomigliare a questa:
Tieni presente che potrebbero essere necessari alcuni minuti affinché IntellIj IDEA crei il tuo progetto, incluso il pull delle dipendenze richieste.
Comprendere il codice di avviamento del server
- Il codice iniziale del server è un progetto Java basato su Gradle.
- Al file
build.gradle
è già stata aggiunta la dipendenza dall'SDK firebase-admin . Questo SDK fornisce l'accesso a varie funzionalità di invio di messaggi FCM.
- Infine, ci sono due classi, vale a dire:
-
FcmSender.java
: questa classe contiene i seguenti metodi degni di nota:-
initFirebaseSDK
: inizializza l'SDK firebase-admin. -
sendMessageToFcmRegistrationToken
: invia un messaggio a un token di registrazione FCM. -
sendMessageToFcmTopic
: invia un messaggio a un argomento FCM. -
sendMessageToFcmTopicCondition
: invia un messaggio a una condizione dell'argomento FCM.
-
-
FcmSubscriptionManager.java
: questa classe contiene metodi che consentono di gestire le sottoscrizioni agli argomenti dal lato server.-
initFirebaseSDK
: inizializza l'SDK firebase-admin. -
subscribeFcmRegistrationTokensToTopic
: iscrivi i token di registrazione FCM a un argomento FCM. -
unsubscribeFcmRegistrationTokensFromTopic
: annulla l'iscrizione ai token di registrazione FCM da un argomento FCM.
-
-
Impostazione del codice del server
- Innanzitutto, dobbiamo configurare un account di servizio Firebase che consenta all'SDK firebase-admin di autorizzare le chiamate alle API FCM.
- Vai alla console Firebase, fai clic sull'icona a forma di ingranaggio accanto a Panoramica del progetto nella barra di navigazione a sinistra e seleziona Impostazioni progetto .
- Nella pagina delle impostazioni, seleziona Account di servizio e fai clic su Crea account di servizio .
- Ora fai clic sul pulsante Genera nuova chiave privata e inizierà il download automatico del file della chiave.
- Rinominare il file della chiave in
service-account.json
e copiarlo nella cartellamessaging/fcm-topics-codelab/starter/StockNewsServer/src/main/resources
. - Sia
FcmSender.java
cheFcmSubscriptionManager.java
caricano il fileservice-account.json
dal classpath utilizzando il seguente codice.
- A questo punto il codice del server è pronto. Esegui Compila -> Crea progetto dalla barra dei menu in alto.
Invio di un messaggio di prova
- In
FcmSender.java
individua la funzionesendMessageToFcmRegistrationToken
e inserisci il token di registrazione FCM che hai copiato dalla sezione Esegui l'app iniziale nel camporegistrationToken
. - Nella funzione
main
, decommenta solo la funzionesendMessageToFcmRegistrationToken
e fai clic su Esegui per eseguire il codice.- Osservare come è impostato il token di registrazione FCM nel campo
Token
dell'oggettomessage
. - Inoltre, nota come abbiamo utilizzato l'API di
send
dell'interfacciaFirebaseMessaging
.
- Osservare come è impostato il token di registrazione FCM nel campo
- Questo dovrebbe inviare un messaggio all'istanza dell'app che hai configurato nel passaggio precedente.
- Quando l'istanza dell'app è in primo piano, dovresti vedere il contenuto del messaggio registrato.
- E quando l'istanza dell'app è in background, vedrai il messaggio apparire nella barra delle notifiche.
Fantastico, hai utilizzato Firebase Admin SDK per inviare messaggi a un'istanza dell'app. Ulteriori informazioni sull'utilizzo dell'SDK Firebase Admin sul tuo server .
6. Implementare la sottoscrizione/annullamento della sottoscrizione all'argomento
In questo passaggio implementerai le azioni di iscrizione e annullamento dell'iscrizione all'argomento, sull'interruttore Categoria azioni dell'app Android.
Quando un utente dell'app attiva l'interruttore per una particolare categoria di titoli, verrà effettuata una chiamata di iscrizione o annullamento dell'iscrizione all'argomento.
Rivedi il codice
- Passare alla classe
SubscriptionAdapter.java
nel codice dell'app Android e individuare la classeRecyclerViewViewHolder
.
- Il costruttore della classe configura un ascoltatore per l'attivazione/disattivazione della sottoscrizione utilizzando
setOnCheckedChangeListener
. - A seconda dell'interruttore, le azioni di sottoscrizione e annullamento dell'iscrizione vengono eseguite chiamando rispettivamente i metodi
subscribeToStockCategory
eunsubscribeFromStockCategory
. - Il metodo
setData
viene chiamato daonBindViewHolder
dell'adattatore RecyclerView per associare ViewHolder alla categoria stock appropriata.
Implementare la sottoscrizione dell'argomento
- Nel metodo
subscribeToStockCategory
, implementerai la chiamata all'APIsubscribeToTopic
dell'oggettoFirebaseMessaging
. Il codice potrebbe assomigliare a questo:
void subscribeToStockCategory() { // Making call to FCM for subscribing to the topic for stockCategory FirebaseMessaging.getInstance().subscribeToTopic(stockCategory.getTopicName()).addOnSuccessListener( unused -> { // Subscribing action successful Log.i(TAG, "Subscribed to topic: " + stockCategory.getTopicName()); Toast.makeText(itemView.getContext(), "Subscribed to " + stockCategory.getCategoryName(), Toast.LENGTH_SHORT).show(); }); }
Implementare l'annullamento dell'iscrizione all'argomento
- Allo stesso modo, nella condizione else, implementerai la chiamata all'API
unsubscribeFromTopic
. Qualcosa sulla falsariga di quanto segue:
void unsubscribeFromStockCategory() { // Making call to FCM for unsubscribing from the topic for stockCategory FirebaseMessaging.getInstance().unsubscribeFromTopic(stockCategory.getTopicName()) .addOnSuccessListener(unused -> { // Unsubscribing action successful Log.i(TAG, "Unsubscribed from topic: " + stockCategory.getTopicName()); Toast.makeText(itemView.getContext(), "Unsubscribed from " + stockCategory.getCategoryName(), Toast.LENGTH_SHORT).show(); }); }
Proviamolo
- Esegui l'app e attiva le opzioni della categoria stock per eseguire le azioni Iscriviti e Annulla iscrizione. Sarebbe qualcosa del genere:
sottoscrivi | Annulla l'iscrizione |
7. Invio del tuo primo messaggio tematico
In questo passaggio implementerai il codice lato server per inviare un messaggio di argomento FCM.
Implementare l'integrazione lato server per l'invio di messaggi di argomento
- Nel codice del server, passa a
FcmSender.java
e individua il metodo denominatosendMessageToFcmTopic
.
- Nella prima riga, fornisci l'argomento FCM a cui desideri inviare il messaggio.
- È una stringa nel formato:
/topics/<Topic Name>
. Ad esempio,/topics/Technology
.
- È una stringa nel formato:
- Nelle righe successive creare un nuovo oggetto
message
(simile a quello definito nella funzionesendMessageToFcmRegistrationToken
).- La differenza sarà che invece di impostare il campo
Token
dell'oggettomessage
, imposterai il campoTopic
.
- La differenza sarà che invece di impostare il campo
Message message = Message.builder() .putData("FOOTECH", "$1000") .setNotification( Notification.builder() .setTitle("Investor confidence in Tech Stocks growing") .setBody("Foo Tech leading the way in stock growth for Tech sector.") .build()) .setTopic(topicName) .build();
- Ora aggiungi la chiamata all'istanza
FirebaseMessaging
per inviare il messaggio (identica alla chiamata di invio effettuata nella funzionesendMessageToFcmRegistrationToken
).
FirebaseMessaging.getInstance().send(message);
- Infine, aggiorna la funzione
main
e abilita la chiamata solo alla funzionesendMessageToFcmTopic
.
Invia messaggio e convalida la ricevuta
- Prima di inviare il messaggio dell'argomento, assicurati innanzitutto che l'istanza dell'app sia iscritta all'argomento a cui desideri inviare.
- Questo può essere fatto ruotando l'interruttore corrispondente. Per esempio:
- Ora puoi inviare il messaggio del tuo argomento eseguendo la funzione
main
diFcmSender.java
. - Come prima dovresti essere in grado di osservare la ricezione del messaggio sull'istanza dell'app.
- Istanza dell'app in primo piano
- Istanza dell'app in background
- Bonus: prova ad annullare l'iscrizione all'argomento a cui hai inviato e a inviare nuovamente il messaggio. Osserverai che il messaggio non viene recapitato all'istanza dell'app.
8. Invio del primo messaggio sulla condizione dell'argomento
La funzionalità della condizione dell'argomento ti consente di inviare messaggi a una combinazione di argomenti consentendoti di fornire una definizione del pubblico più espressiva.
Ad esempio, nella nostra app StockNews, considera la possibilità di inviare messaggi a un gruppo di istanze dell'app che sono iscritte ad argomenti tecnologici o automobilistici. Un caso del genere può verificarsi, ad esempio, se si verifica un evento degno di nota che coinvolge Waymo.
Gli argomenti ti consentono di esprimere la tua combinazione sotto forma di espressione booleana utilizzando i seguenti operatori
- &&: AND logico. Ad esempio,
'Technology' in topics && 'Automotive' in topics
: ha come target solo le istanze dell'app sottoscritte sia ad Argomenti tecnologici che automobilistici. - || : OR logico. Ad esempio,
'Technology' in topics || 'Automotive' in topics
: ha come target le istanze dell'app sottoscritte ad argomenti Tecnologia o Automotive. - () : parentesi per il raggruppamento. Ad esempio,
'Technology' in topics && ('Automotive' in topics || 'Energy' in topics)
: ha come target solo le istanze dell'app sottoscritte agli argomenti Tecnologia e Automotive o Energia.
Ulteriori informazioni su come creare richieste di invio per utilizzare questa funzionalità.
Implementare l'integrazione lato server per l'invio del messaggio sulla condizione dell'argomento
- Tornando al codice del server, passa a
FcmSender.java
e individua il metodo denominatosendMessageToFcmTopicCondition
.
- Nella prima riga, per la variabile
topicCondition
, fornisci la condizione dell'argomento a cui desideri inviare il messaggio. Puoi impostarlo su:'Technology' in topics && 'Automotive' in topics
. - Nelle righe successive, crea un nuovo oggetto
message
(simile a quello definito nella funzionesendMessageToFcmTopic
).- La differenza sarà che invece di impostare il campo
Topic
dell'oggetto, imposterai il campoCondition
.
- La differenza sarà che invece di impostare il campo
Message message = Message.builder() .putData("FOOCAR", "$500") .setNotification( Notification.builder() .setTitle("Foo Car shows strong Q2 results") .setBody("Foo Car crosses 1B miles. Stocks rally.") .build()) .setCondition(topicCondition) .build();
- Ora aggiungi la chiamata all'istanza
FirebaseMessaging
per inviare il messaggio (identica alla chiamata di invio effettuata nella funzionesendMessageToFcmTopic
).
FirebaseMessaging.getInstance().send(message);
- Infine, aggiorna la funzione
main
e abilita la chiamata solo alla funzionesendMessageToFcmTopicCondition
.
Invia il messaggio e convalida la ricezione
- Prima di inviare il messaggio dell'argomento, assicurati innanzitutto che l'istanza dell'app soddisfi la condizione dell'argomento specificata iscrivendo l'istanza dell'app agli argomenti Tecnologia e Automotive.
- Ora puoi inviare il messaggio del tuo argomento eseguendo la funzione
main
diFcmSender.java
. - Come prima, dovresti essere in grado di osservare la ricezione del messaggio nell'istanza dell'app.
- Istanza dell'app in primo piano
- Istanza dell'app in background
- Bonus: ora puoi annullare l'iscrizione all'argomento Tecnologia e inviare nuovamente il messaggio sulla condizione dell'argomento. Dovresti osservare che il messaggio non viene ricevuto dall'istanza dell'app.
9. Riepilogo
Facciamo un breve riepilogo di ciò che hai imparato fino a questo punto.
- Come avviare una sottoscrizione/annullamento della sottoscrizione di un argomento da un'istanza dell'app.
- Invio di un messaggio all'argomento e verifica della ricezione sulle istanze dell'app sottoscritte.
- Invio di un messaggio a un argomento Condizione e verifica della ricezione su un'istanza dell'app che soddisfa la condizione.
Nella sezione successiva imparerai come iscrivere/annullare l'iscrizione delle istanze dell'app agli argomenti senza dover istanziare le chiamate dal lato client.
10. Gestisci le sottoscrizioni agli argomenti dal lato server
Finora, in questo codelab, tutte le chiamate di sottoscrizione e annullamento della sottoscrizione agli argomenti vengono avviate da un'istanza dell'app.
Tuttavia, in alcuni casi d'uso, potresti voler gestire le sottoscrizioni agli argomenti dal lato server. Ad esempio, potresti voler iscrivere un sottogruppo della tua base utenti esistente a un nuovo argomento senza attendere il lancio dell'app.
In questa sezione imparerai come utilizzare Firebase Admin SDK per iscrivere e annullare l'iscrizione di un batch di token di registrazione FCM a un argomento effettuando chiamate dal lato server.
Implementare la sottoscrizione lato server dei token di registrazione FCM all'argomento FCM
- Nel codice del server, passa alla classe
FcmSubscriptionManager.java
. Individuare il metodo denominatosubscribeFcmRegistrationTokensToTopic
. Implementerai la chiamata all'APIsubscribeToTopic
qui.
- Sottoscriviamo l'istanza dell'app all'argomento Energia. Per fare ciò, fornisci innanzitutto i dati per i seguenti due campi:
-
registrationTokens
: un elenco di stringhe separate da virgole che rappresentano i token di registrazione FCM per i quali desideri creare sottoscrizioni agli argomenti. -
topicName
: il nome dell'argomento per l'argomento Energia, ovvero/topics/Energy
.
-
- Nelle prossime righe implementiamo il bando, in questo senso:
TopicManagementResponse response = FirebaseMessaging.getInstance().subscribeToTopic( registrationTokens, topicName);
- Puoi controllare
TopicManagementResponse
per alcune statistiche sui risultati di alto livello. Ad esempio, stampare il numero di sottoscrizioni agli argomenti creati con successo utilizzandogetSuccessCount
.
System.out.printf("Num tokens successfully subscribed %d", response.getSuccessCount());
- Infine, nella funzione
main
abilita le chiamate solo alla funzionesubscribeFcmRegistrationTokensToTopic
.
Crea un abbonamento e invia un messaggio sull'argomento
- A questo punto sei pronto per creare la sottoscrizione dell'argomento e inviargli un messaggio.
- Esegui la funzione
main
della classeFcmSubscriptionManager.java
. Ciò creerà una sottoscrizione all'argomento. - Ora imposta il codice per inviare il messaggio. Simile a prima,
- Nel
FcmSender.java
individuare la funzionesendMessageToFcmTopic
. - Imposta
topicName
sull'argomento Energia, ad esempio/topics/Energy
. - Crea un oggetto
Message
e indirizzalo all'argomento utilizzandosetTopic
. - Infine, aggiorna il metodo
main
per abilitare solo la funzionesendMessageToFcmTopic
.
- Nel
- Esegui la funzione
main
diFcmSender.java
. Questo invierà il messaggio all'istanza della tua app e potrai osservarlo nella tua app come segue.- Istanza dell'app in primo piano
- Istanza dell'app in background
Implementare l'annullamento della sottoscrizione lato server dei token di registrazione FCM all'argomento FCM
- Per le annullamenti delle iscrizioni agli argomenti lato server, utilizza questa API
unsubscribeFromTopic
. Aggiungerai il codice pertinente alla funzioneunsubscribeFcmRegistrationTokensFromTopic
della classeFcmSubscriptionManager.java
.
- L'implementazione del codice di annullamento dell'iscrizione lato server e la convalida del suo effetto inviando un messaggio di argomento vengono lasciate come esercizio.
11. Congratulazioni
Congratulazioni, hai utilizzato con successo gli argomenti FCM per inviare messaggi multicast ai sottogruppi delle istanze dell'app. Ciò ti aiuterà a semplificare la tua capacità di raggiungere tempestivamente i tuoi utenti con contenuti pertinenti.
Qual è il prossimo?
Ora che hai completato il codelab, valuta la possibilità di provare argomenti per altre piattaforme utilizzando le seguenti guide:
Documenti di riferimento
- Riferimento API Android ( Java / Kotlin )
- Riferimento API iOS ( ObjectiveC / Swift )
- Riferimento API Javascript ( versione 9 / versione 8 )
- Riferimento SDK di amministrazione ( Node.js / Java / Python / .NET )