Nachrichten in einer Unity-Client-App empfangen

Nachrichten empfangen und bearbeiten

Damit Nachrichten empfangen werden können, muss Ihre App dem Firebase.Messaging.FirebaseMessaging.MessageReceived-Ereignis-Handler einen Rückruf zuweisen.

MessageReceived Ereignis

Wenn du Firebase.Messaging.FirebaseMessaging.MessageReceived überschreibst und einen Rückruf zuweist, kannst du 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 von eingehenden Daten darstellen. In den meisten Fällen werden Nachrichten an die App gesendet, nachdem sie vom Entwickler initiiert wurden. Außerdem werden Nachrichten an Ihre App gesendet, um Ereignisse für gesendete Nachrichten, Fehler beim Senden von Nachrichten und gelöschte Nachrichten zu repräsentieren. Diese speziellen Ereignisse können am Feld MessageType unterschieden werden.

Nachrichten gelöscht

Wird an Ihre App gesendet, wenn der FCM-Server ausstehende Nachrichten löscht. MessageType ist "deleted_messages". Nachrichten können in folgenden Fällen gelöscht werden:

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

    Das kann passieren, wenn die Server einer App eine Reihe nicht minimierbarer 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 vor Kurzem (innerhalb der letzten 4 Wochen) eine Nachricht an die App auf diesem Gerät gesendet.

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

Ereignis senden

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

Fehler beim Senden

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