Topic Messaging

La 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 esigenze e FCM gestisce il routing e la consegna del messaggio in modo affidabile ai dispositivi giusti.

Punti chiave della messaggistica per argomenti:

  • Più adatti a informazioni disponibili pubblicamente, come gli avvisi meteo.
  • I messaggi dell'argomento sono ottimizzati per la velocità effettiva anziché per la latenza. Per una distribuzione rapida e sicura a singoli dispositivi o piccoli gruppi, seleziona come target i messaggi in base ai token di registrazione anziché agli argomenti.

Quote e limiti

La messaggistica per argomento supporta un numero illimitato di sottoscrizioni per ogni argomento. Tuttavia, FCM impone limiti in queste aree:

  • Un'istanza dell'app può essere iscritta a un massimo di 2000 argomenti.
  • Se utilizzi l'abbonamento batch per abbonarti alle istanze dell'app, ogni richiesta è limitata a 1000 istanze dell'app.

Limitazione delle sottoscrizioni

La frequenza di aggiunta o rimozione delle iscrizioni agli argomenti è limitata a 3000 QPS per progetto.

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 di FCM risponderanno con una risposta 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED"). Riprova con il backoff esponenziale.

Limitazione del fanout

La distribuzione dei messaggi è il processo di invio di un messaggio a più dispositivi, ad esempio quando scegli come target argomenti e gruppi o quando utilizzi lo strumento di composizione delle notifiche per scegliere come target segmenti di utenti o pubblici.

La distribuzione dei messaggi non è istantanea, quindi a volte sono in corso più distribuzioni contemporaneamente. Il numero di fanout di messaggi simultanei per progetto è limitato a 1000. Dopodiché, potremmo rifiutare ulteriori richieste di fanout o posticipare il fanout delle richieste fino al completamento di alcuni fanout già in corso.

Il tasso di fanout effettivamente raggiungibile è influenzato dal numero di progetti che richiedono fanout contemporaneamente. Una frequenza di fanout di 10.000 QPS per un singolo progetto non è insolita, ma questo numero non è una garanzia ed è il risultato del carico totale sul sistema. È importante notare che la capacità di fanout disponibile è suddivisa tra i progetti e non tra le richieste di fanout. Pertanto, se il tuo progetto ha due fanout in corso, ogni fanout vedrà solo la metà della velocità di fanout disponibile. Il modo consigliato per massimizzare la velocità di fanout è avere una sola distribuzione attiva alla volta.

Passaggi successivi