Ricevere e gestire messaggi
Per ricevere messaggi, la tua app deve assegnare una richiamata al gestore eventi Firebase.Messaging.FirebaseMessaging.MessageReceived
.
Evento MessageReceived
Eseguendo l'override dell'assegnazione di una richiamata a Firebase.Messaging.FirebaseMessaging.MessageReceived
è possibile eseguire azioni basate sul messaggio ricevuto e ottenere i dati del messaggio:
public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) { UnityEngine.Debug.Log("From: " + e.Message.From); UnityEngine.Debug.Log("Message ID: " + e.Message.MessageId); }
I messaggi possono rappresentare diversi tipi di dati in arrivo. Nella maggior parte dei casi, i messaggi vengono inviati all'app dopo essere stati avviati dallo sviluppatore. I messaggi vengono inviati anche all'app per rappresentare eventi di invio di messaggi, eventi di errore di invio di messaggi ed eventi di eliminazione di messaggi. Questi eventi speciali possono essere differenziati controllando il campo MessageType
.
Messaggi eliminati
Inviato alla tua app quando il server FCM elimina i messaggi in sospeso. MessageType
sarà "deleted_messages"
. I messaggi possono essere eliminati se:
Troppi messaggi sono archiviati sul server FCM.
Ciò può verificarsi quando i server di un'app inviano una serie di messaggi non comprimibili ai server FCM mentre il dispositivo è offline.
Il dispositivo non si connette da molto tempo e il server dell'app ha recentemente inviato (nelle ultime 4 settimane) un messaggio all'app su quel dispositivo.
Si consiglia che l'app esegua una sincronizzazione completa con il server dell'app dopo aver ricevuto questa chiamata.
Invia evento
Chiamato quando un messaggio upstream è stato inviato con successo a FCM. MessageType
sarà "send_event"
.
Invia errore
Chiamato quando si è verificato un errore durante l'invio di un messaggio upstream. MessageType
sarà "send_error"
.