Messaggistica tematica su Flutter

In base al modello di pubblicazione/sottoscrizione, la messaggistica degli argomenti FCM ti consente di inviare un messaggio a più dispositivi che hanno aderito a un particolare argomento. Componi i messaggi di argomento secondo necessità e FCM gestisce l'instradamento e la consegna del messaggio in modo affidabile ai dispositivi giusti.

Ad esempio, gli utenti di un'app di previsione delle maree locali potrebbero aderire a un argomento "avvisi sulle correnti di marea" e ricevere notifiche sulle condizioni ottimali di pesca in acqua salata in aree specifiche. Gli utenti di un'app sportiva potrebbero abbonarsi agli aggiornamenti automatici dei risultati delle partite in diretta per le loro squadre preferite.

Alcune cose da tenere a mente sugli argomenti:

  • La messaggistica per argomento è più adatta per contenuti quali meteo o altre informazioni disponibili pubblicamente.

  • I messaggi degli argomenti sono ottimizzati per la velocità effettiva piuttosto che per la latenza . Per un recapito rapido e sicuro a singoli dispositivi o piccoli gruppi di dispositivi, indirizza i messaggi ai token di registrazione e non agli argomenti.

  • Se devi inviare messaggi a più dispositivi per utente , prendi in considerazione la messaggistica di gruppo di dispositivi per questi casi d'uso.

  • La messaggistica per argomento supporta abbonamenti illimitati per ciascun argomento. Tuttavia, FCM applica limiti in queste aree:

    • È possibile sottoscrivere un'istanza dell'app a non più di 2000 argomenti.
    • Se utilizzi l'importazione batch per sottoscrivere istanze dell'app, ogni richiesta è limitata a 1000 istanze dell'app.
    • La frequenza dei nuovi abbonamenti è limitata per progetto. Se invii troppe richieste di abbonamento in un breve periodo di tempo, i server FCM risponderanno con una risposta 429 RESOURCE_EXHAUSTED ("quota superata"). Riprova con backoff esponenziale.

Sottoscrivere l'app client a un argomento

Le app client possono sottoscrivere qualsiasi argomento esistente oppure possono creare un nuovo argomento. 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 ad esso.

Per iscriverti a un argomento, chiama subscribeToTopic() con il nome dell'argomento. Questo metodo restituisce un Future , che si risolve quando la sottoscrizione ha esito positivo:

await FirebaseMessaging.instance.subscribeToTopic("topic");

Per annullare l'iscrizione, chiama unsubscribeFromTopic() con il nome dell'argomento.

subscribeToTopic() e unsubscribeFromTopic() non sono supportati per i client Web. Per informazioni su come gestire gli abbonamenti per gli utenti Web, vedere Invio di messaggi ad argomenti su Web/JavaScript .

Prossimi passi