La messaggistica FCM 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 l'instradamento e la consegna affidabile del messaggio ai dispositivi giusti.
Punti chiave sulla messaggistica per argomenti:
- Ideale per informazioni disponibili pubblicamente come 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, targetizza i messaggi sui token di registrazione anziché sugli argomenti.
Quote e limiti
La messaggistica per argomenti supporta sottoscrizioni illimitate 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'iscrizione batch per iscrivere le istanze delle app, ogni richiesta è limitata a 1000 istanze.
Limitazione delle iscrizioni
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 abbonamento 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 di 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 pubblico o di utenti.
La distribuzione dei messaggi non è istantanea, quindi a volte sono in corso più distribuzioni contemporaneamente. Limita il numero di fanout di messaggi simultanei per progetto 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 un solo fanout attivo in corso alla volta.
Passaggi successivi
- Scopri come gestire gli abbonamenti agli argomenti utilizzando l'SDK Admin o dalla tua app client.
- Scopri come inviare messaggi agli argomenti utilizzando l'SDK Admin o l'API HTTP v1 di FCM.