Nachrichten empfangen und bearbeiten
Damit Ihre App Nachrichten empfangen kann, muss sie dem Firebase.Messaging.FirebaseMessaging.MessageReceived
-Event-Handler einen Callback zuweisen.
MessageReceived
Ereignis
Wenn Sie die Zuweisung eines Rückrufs an 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. Außerdem werden Nachrichten an Ihre App gesendet, um Ereignisse für gesendete Nachrichten, Fehlerereignisse für gesendete Nachrichten und Ereignisse für gelöschte Nachrichten darzustellen. Diese besonderen Ereignisse können durch Überprüfen des Felds 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 in folgenden Fällen gelöscht werden:
Auf dem FCM-Server sind zu viele Nachrichten gespeichert.
Das kann passieren, wenn die Server einer App eine Reihe von nicht minimierbaren Nachrichten an die FCM-Server senden, während das Gerät offline ist.
Das Gerät hat sich seit längerer Zeit nicht mehr verbunden und der App-Server hat vor Kurzem (in den 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
wird "send_event"
sein.
Fehler beim Senden
Wird aufgerufen, wenn beim Senden einer Upstream-Nachricht ein Fehler aufgetreten ist.
MessageType
wird "send_error"
sein.