Nachrichten in Unity-Apps empfangen

Plattform auswählen : iOS+ Android Web Flutter Unity C++


Damit Ihre App Nachrichten empfangen kann, muss sie dem Firebase.Messaging.FirebaseMessaging.MessageReceived Event-Handler einen Callback zuweisen.

MessageReceived-Ereignis

Wenn Sie einen Callback für Firebase.Messaging.FirebaseMessaging.MessageReceived überschreiben, 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 von eingehenden Daten darstellen. In den meisten Fällen werden Nachrichten an die App gesendet, nachdem sie vom Entwickler initiiert wurden. Nachrichten werden auch an Ihre App gesendet, um Ereignisse wie gesendete Nachrichten, Fehler beim Senden von Nachrichten und gelöschte Nachrichten darzustellen. Diese speziellen Ereignisse können durch Überprüfen des Felds Message::message_type unterschieden werden.

Nachrichten gelöscht

Wird an Ihre App gesendet, wenn der FCM Server ausstehende Nachrichten löscht. Message::message_type ist dann "deleted_messages". Nachrichten können aus folgenden Gründen gelöscht werden:

  1. Zu viele Nachrichten auf dem FCM Server gespeichert

    Das kann passieren, wenn die Server einer App eine Reihe von nicht zusammenfassbaren Nachrichten an FCM Server senden, während das Gerät offline ist.

  2. Das Gerät hat sich seit längerer Zeit nicht mehr verbunden und der App-Server hat vor Kurzem (in den letzten vier Wochen) eine Nachricht an die App auf diesem Gerät gesendet.

    Es wird empfohlen, dass die App nach dem Empfang 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 dann "send_event".

Fehler beim Senden

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