Con FCM, puoi inviare due tipi di messaggi alle tue app client:
- I messaggi di notifica, simili ai "messaggi visualizzati", vengono gestiti automaticamente dall'SDK FCM.
- Messaggi di dati, gestiti dall'app client.
I messaggi di notifica contengono un insieme predefinito di chiavi visibili all'utente e possono contenere un payload di dati facoltativo. I messaggi di dati, al contrario, contengono solo le coppie chiave-valore personalizzate definite dall'utente. Il payload massimo per entrambi i tipi di messaggio è 4096 byte, tranne quando i messaggi vengono inviati dalla console Firebase, che impone un limite di 1000 caratteri.
Scenario di utilizzo | Come inviare | |
---|---|---|
Messaggio di notifica | FCM L'SDK mostra il messaggio ai dispositivi degli utenti finali per conto dell'app client quando viene eseguita in background. Altrimenti, se l'app è in esecuzione in primo piano quando viene ricevuta la notifica, il comportamento è determinato dal codice dell'app. |
|
Messaggio di dati | L'app client è responsabile dell'elaborazione dei messaggi di dati. I messaggi di dati contengono solo coppie chiave-valore personalizzate senza nomi di chiavi riservati (vedi sotto). | In un ambiente attendibile come
Cloud Functions
o il server delle app, utilizza
Firebase Admin SDK o l'API HTTP v1.
Nella richiesta di invio, imposta la chiave data .
|
Puoi utilizzare i messaggi di notifica quando vuoi che l'SDK FCM gestisca la visualizzazione automatica di una notifica quando la tua app è in esecuzione in background. FCM può inviare un messaggio di notifica con un payload di dati facoltativo. In questi casi, FCM visualizza il payload della notifica e l'app client gestisce il payload dei dati.
Puoi utilizzare i messaggi di dati quando vuoi elaborare i messaggi con il tuo codice dell'app client.
Messaggi di notifica
Puoi inviare messaggi di notifica utilizzando la console Firebase, Firebase Admin SDK o l'API FCM HTTP v1. La console Firebase fornisce test A/B basati su Analytics per aiutarti a perfezionare e migliorare i messaggi di notifica.
Per inviare messaggi di notifica utilizzando l'API HTTP v1 Firebase Admin SDK o FCM, imposta la chiave notification
con l'insieme predefinito di opzioni chiave-valore del messaggio di notifica. Puoi utilizzare il seguente esempio per formattare
un messaggio di notifica in un'app di messaggistica istantanea
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
}
}
}
I messaggi di notifica vengono recapitati nella barra delle notifiche quando l'app è in background. Per le app in primo piano, i messaggi vengono gestiti da una funzione di callback.
Puoi utilizzare la documentazione di riferimento dell'oggetto di notifica dell'API FCM HTTP v1 per l'elenco completo delle chiavi predefinite disponibili per la creazione di messaggi di notifica.
Messaggi di dati
Spetta a te decidere come utilizzare il payload FCM data
per implementare lo schema di crittografia che preferisci. Assicurati di non utilizzare parole riservate nelle
coppie chiave-valore personalizzate. Le parole riservate includono from
, message_type
o
qualsiasi parola che inizi con google.
, gcm.
o gcm.notification.
.
L'esempio seguente mostra l'utilizzo del campo dati di primo livello o comune, che viene interpretato dai client su tutte le piattaforme che ricevono il messaggio. Su ogni piattaforma, l'app client riceve il payload di dati in una funzione di callback
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}