Basato sul modello di pubblicazione/sottoscrizione, il servizio di messaggistica per argomenti FCM ti consente di inviare un messaggio a più dispositivi che hanno attivato un determinato argomento. Componi i messaggi dell'argomento in base alle tue esigenze e FCM gestisce il routing e la consegna del messaggio in modo affidabile ai dispositivi giusti.
Ad esempio, gli utenti di un'app locale di previsione delle maree potrebbero attivare l'argomento "Avvisi sulle correnti di marea" e ricevere notifiche sulle condizioni ottimali per la pesca in acqua salata in aree specifiche. Gli utenti di un'app di sport potrebbero abbonarsi agli aggiornamenti automatici sui risultati in tempo reale delle partite delle loro squadre preferite.
Alcune cose da tenere a mente sugli argomenti:
La messaggistica per argomenti è più adatta a contenuti come il meteo o altre informazioni disponibili pubblicamente.
I messaggi sugli argomenti sono ottimizzati per la velocità effettiva anziché per la latenza. Per una distribuzione rapida e sicura a singoli dispositivi o piccoli gruppi di dispositivi, imposta come target dei messaggi i token di registrazione, non gli argomenti.
Se devi inviare messaggi a più dispositivi per utente, valuta la possibilità di utilizzare la messaggistica di gruppo per i dispositivi per questi casi d'uso.
La messaggistica per argomento supporta un numero illimitato di sottoscrizioni per ogni argomento. Tuttavia, FCM applica limiti in queste aree:
- Un'istanza dell'app può essere iscritta a un massimo di 2000 argomenti.
- Se utilizzi l'importazione batch per abbonarti alle istanze dell'app, ogni richiesta è limitata a 1000 istanze dell'app.
- La frequenza dei nuovi abbonamenti è limitata in base alla velocità per progetto. Se invii
troppe richieste di iscrizione in un breve periodo di tempo, i server FCM
risponderanno con una risposta
429 RESOURCE_EXHAUSTED
("quota superata"). Riprova con backoff esponenziale.
Abbonarsi a un argomento nell'app client
Le app client possono iscriversi a qualsiasi argomento esistente o crearne uno nuovo. Quando un'app client si iscrive a un nuovo nome di argomento (uno che non esiste già per il tuo progetto Firebase), viene creato un nuovo argomento con quel nome in FCM e qualsiasi client può successivamente iscriversi.
Per abbonarti a un argomento, chiama il numero subscribeToTopic()
e comunica il nome dell'argomento. Questo metodo
restituisce un Future
, che viene risolto quando l'abbonamento è andato a buon fine:
await FirebaseMessaging.instance.subscribeToTopic("topic");
Per annullare l'iscrizione, chiama il numero unsubscribeFromTopic()
e comunica il nome dell'argomento.
subscribeToTopic()
e unsubscribeFromTopic()
non sono supportati per i client web. Per scoprire come gestire gli abbonamenti per gli utenti web, consulta
Inviare messaggi agli argomenti su Web/JavaScript.
Passaggi successivi
- Scopri come inviare messaggi sugli argomenti.
- Scopri come gestire gli abbonamenti agli argomenti sul server.