Empfangen Sie Nachrichten über eine Unity-Client-App

Nachrichten empfangen und bearbeiten

Um Nachrichten zu empfangen, muss Ihre App dem Firebase.Messaging.FirebaseMessaging.MessageReceived -Ereignishandler einen Rückruf zuweisen.

MessageReceived -Ereignis

Durch Überschreiben der Zuweisung eines Rückrufs zu Firebase.Messaging.FirebaseMessaging.MessageReceived können Sie Aktionen basierend auf der empfangenen Nachricht ausführen und die Nachrichtendaten abrufen:

public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) {
  UnityEngine.Debug.Log("From: " + e.Message.From);
  UnityEngine.Debug.Log("Message ID: " + e.Message.MessageId);
}

Nachrichten können verschiedene Arten eingehender Daten darstellen. Am häufigsten werden Nachrichten an die App gesendet, nachdem sie vom Entwickler initiiert wurden. Nachrichten werden auch an Ihre App gesendet, um Ereignisse beim Senden von Nachrichten, Fehler beim Senden von Nachrichten und Ereignisse beim Löschen von Nachrichten darzustellen. Diese besonderen Ereignisse können durch Überprüfen des Feldes MessageType unterschieden werden.

Nachrichten gelöscht

Wird an Ihre App gesendet, wenn der FCM-Server ausstehende Nachrichten löscht. MessageType wird "deleted_messages" sein. Nachrichten können gelöscht werden, wenn:

  1. Auf dem FCM-Server sind zu viele Nachrichten gespeichert.

    Dies kann auftreten, wenn die Server einer App eine Reihe nicht reduzierbarer Nachrichten an FCM-Server senden, während das Gerät offline ist.

  2. Das Gerät war schon lange nicht mehr verbunden und der App-Server hat kürzlich (innerhalb der letzten 4 Wochen) eine Nachricht an die App auf diesem Gerät gesendet.

    Es wird empfohlen, dass die App nach Erhalt dieses Anrufs eine vollständige Synchronisierung mit dem App-Server durchführt.

Ereignis senden

Wird aufgerufen, wenn eine Upstream-Nachricht erfolgreich an FCM gesendet wurde. MessageType wird "send_event" sein.

Fehler senden

Wird aufgerufen, wenn beim Senden einer Upstream-Nachricht ein Fehler aufgetreten ist. MessageType wird "send_error" sein.