Ricezione di messaggi nelle app Unity

Seleziona la piattaforma: iOS+ Android Web Flutter Unity C++


Per ricevere messaggi, la tua app deve assegnare un callback al Firebase.Messaging.FirebaseMessaging.MessageReceived gestore di eventi.

Evento MessageReceived

Eseguendo l'override dell'assegnazione di un callback a Firebase.Messaging.FirebaseMessaging.MessageReceived puoi eseguire azioni in base al messaggio ricevuto e recuperare i dati del messaggio data:

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 entrata. Nella maggior parte dei casi, i messaggi vengono inviati all'app dopo essere stati avviati dallo sviluppatore. I messaggi vengono inviati alla tua app anche 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 Message::message_type.

Messaggi eliminati

Vengono inviati alla tua app quando il server FCM elimina i messaggi in attesa. Message::message_type sarà "deleted_messages". I messaggi potrebbero essere eliminati per i seguenti motivi:

  1. Troppi messaggi memorizzati sul FCM server.

    Ciò può accadere quando i server di un'app inviano una serie di messaggi non comprimibili ai server FCM mentre il dispositivo è offline.

  2. Il dispositivo non è connesso da molto tempo e il server dell'app ha inviato di recente (nelle ultime 4 settimane) un messaggio all'app su quel dispositivo.

    Ti consigliamo di eseguire una sincronizzazione completa con il server dell'app dopo aver ricevuto questa chiamata.

Invia evento

Viene chiamato quando un messaggio upstream è stato inviato correttamente a FCM. MessageType sarà "send_event".

Errore di invio

Viene chiamato quando si è verificato un errore durante l'invio di un messaggio upstream. MessageType sarà "send_error".