了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Messaggistica dell'argomento su Flutter

Sulla base del modello di pubblicazione/sottoscrizione, la messaggistica degli argomenti FCM consente di inviare un messaggio a più dispositivi che hanno aderito a un determinato argomento. Componi i messaggi degli argomenti 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 scegliere 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 per lo sport possono iscriversi agli aggiornamenti automatici dei risultati delle partite in diretta per le loro squadre preferite.

Alcune cose da tenere a mente sugli argomenti:

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

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

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

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

    • Un'istanza dell'app può essere sottoscritta a non più di 2000 argomenti.
    • Se utilizzi l'importazione batch per sottoscrivere le istanze dell'app, ogni richiesta è limitata a 1000 istanze dell'app.
    • La frequenza dei nuovi abbonamenti è limitata alla tariffa per progetto. Se invii troppe richieste di sottoscrizione 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 iscriversi a 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 sottoscriverlo.

Per sottoscrivere un argomento, chiama subscribeToTopic() con il nome dell'argomento. Questo metodo restituisce un Future , che si risolve quando la sottoscrizione è andata a buon fine:

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

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

Prossimi passi