Ricevi messaggi su un'app client Unity

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:

  1. 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.

  2. 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" .