Topic Messaging

La messaggistica per argomento FCM consente di inviare un messaggio a più dispositivi che hanno attivato la ricezione di messaggi per un determinato argomento. Componi i messaggi per argomento in base alle esigenze, e FCM gestisce il routing e la consegna affidabile del messaggio ai dispositivi giusti.

Punti chiave sulla messaggistica per argomento:

  • Ideale per informazioni disponibili pubblicamente, come gli avvisi meteo.
  • I messaggi per argomento sono ottimizzati per la velocità effettiva anziché per la latenza. Per una consegna rapida, sicura a singoli dispositivi o piccoli gruppi, indirizza i messaggi 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 applica limiti in queste aree:

  • Un'istanza dell'app può essere sottoscritta a un massimo di 2000 argomenti.
  • Se utilizzi la sottoscrizione batch per sottoscrivere le istanze dell'app, ogni richiesta è limitata a 1000 istanze dell'app.

Limitazione delle sottoscrizioni

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

La frequenza delle nuove sottoscrizioni è limitata per progetto. Se invii troppe richieste di sottoscrizione in un breve periodo di tempo, FCM server risponderanno con una 429 RESOURCE_EXHAUSTED ("QUOTA_EXHAUSTED") risposta. Riprova con un backoff esponenziale.

Limitazione del fanout

Il fanout dei messaggi è il processo di invio di un messaggio a più dispositivi, ad esempio quando indirizzi argomenti e gruppi o quando utilizzi il compositor di notifiche per indirizzare segmenti di pubblico o segmenti di utenti.

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

La frequenza di fanout effettivamente raggiungibile è influenzata dal numero di progetti che richiedono fanout contemporaneamente. Una frequenza di fanout di 10.000 QPS per un singolo progetto non è rara, 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 frequenza di fanout disponibile. Il modo consigliato per massimizzare la velocità di fanout è avere un solo fanout attivo in corso alla volta.

Passaggi successivi