Odbieranie wiadomości w aplikacji klienckiej Unity

Odbieranie i obsługiwanie wiadomości

Aby otrzymywać wiadomości, aplikacja musi przypisać wywołanie zwrotne do Firebase.Messaging.FirebaseMessaging.MessageReceived procedury obsługi zdarzeń.

MessageReceived zdarzenie

Zastępując przypisanie wywołania zwrotnego do Firebase.Messaging.FirebaseMessaging.MessageReceived możesz wykonywać działania na podstawie otrzymanej wiadomości i pobierać dane wiadomości:

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

Wiadomości mogą reprezentować różne rodzaje danych przychodzących. Najczęściej wiadomości są wysyłane do aplikacji po zainicjowaniu przez dewelopera. Wiadomości są też wysyłane do aplikacji, aby reprezentować zdarzenia wysłania wiadomości, zdarzenia błędów wysyłania wiadomości i zdarzenia usunięcia wiadomości. Te zdarzenia specjalne można odróżnić od siebie, sprawdzając pole MessageType.

Usunięto wiadomości

Wysyłane do aplikacji, gdy serwer FCM usuwa oczekujące wiadomości. MessageType będzie mieć wartość "deleted_messages". Wiadomości mogą zostać usunięte, jeśli:

  1. Na serwerze FCM jest zbyt wiele wiadomości.

    Może się to zdarzyć, gdy serwery aplikacji wysyłają do serwerów FCM wiele wiadomości, których nie można zwinąć, gdy urządzenie jest offline.

  2. Urządzenie nie było połączone od dłuższego czasu, a serwer aplikacji niedawno (w ciągu ostatnich 4 tygodni) wysłał wiadomość do aplikacji na tym urządzeniu.

    Zalecamy, aby po otrzymaniu tego wywołania aplikacja przeprowadziła pełną synchronizację z serwerem aplikacji.

Wyślij zdarzenie

Wywoływana, gdy wiadomość wysłana do FCM została dostarczona. MessageType będzie mieć wartość "send_event".

Błąd wysyłania

Wywoływana, gdy podczas wysyłania wiadomości do serwera wystąpił błąd. MessageType będzie mieć wartość "send_error".