Messaggi non comprimibili e comprimibili

Un messaggio non comprimibile significa che ogni singolo messaggio viene recapitato al dispositivo. Un messaggio non comprimibile fornisce contenuti utili Un messaggio comprimibile, ad esempio un "ping" senza contenuti a un'app mobile, serve per contattare il server per recuperare i dati.

Alcuni casi d'uso tipici dei messaggi non comprimibili sono i messaggi di chat o messaggi critici. Per Android, è previsto un limite di 100 messaggi che possono essere archiviati senza essere compressi. Se viene raggiunto il limite, tutti i messaggi archiviati vengono eliminati. Quando il dispositivo torna online, riceve un messaggio speciale che indica che è stato raggiunto il limite. L'app può quindi gestire la situazione richiedendo in genere una sincronizzazione completa dal server dell'app.

Un messaggio comprimibile è un messaggio che può essere sostituito da un nuovo messaggio se non è ancora stato recapitato al dispositivo.

Un caso d'uso comune dei messaggi comprimibili sono i messaggi utilizzati per indicare a un'app mobile di sincronizzare i dati dal server. Un esempio è un'app di sport che aggiorna gli utenti con l'ultimo punteggio. Solo il messaggio più recente è pertinente.

Per contrassegnare un messaggio come comprimibile su Android, includi il collapse_key parametro nel payload del messaggio. Per impostazione predefinita, la chiave di compressione è il nome del pacchetto applicativo dell'app registrato nella Firebase console. Il FCM server può archiviare contemporaneamente quattro messaggi comprimibili diversi per dispositivo, ognuno con una chiave di compressione diversa. Se superi questo numero, FCM conserva solo quattro chiavi di compressione, senza alcun fattore determinante per la scelta delle chiavi da conservare.

Per impostazione predefinita, i messaggi di argomento senza payload sono comprimibili. I messaggi di notifica sono sempre comprimibili e ignorano il parametro collapse_key.

Quale devo utilizzare?

I messaggi comprimibili sono l'opzione preferita dal punto di vista del rendimento, a condizione che l'app non debba utilizzare messaggi non comprimibili. Tuttavia, se utilizzi messaggi comprimibili, tieni presente che FCM consente di utilizzare un massimo di quattro chiavi di compressione diverse da utilizzare da FCM per token di registrazione in qualsiasi momento.

Scenario d'uso Come inviare
Non comprimibile Ogni messaggio è importante per l'app client e deve essere recapitato. Ad eccezione dei messaggi di notifica, tutti i messaggi non sono comprimibili per impostazione predefinita.
Comprimibile Quando è presente un messaggio più recente che rende irrilevante un messaggio correlato precedente per l'app client, FCM sostituisce il messaggio precedente. Ad esempio: messaggi di notifica obsoleti. Imposta il parametro appropriato nella richiesta di messaggio: