Odbieranie wiadomości w aplikacji klienckiej Unity

Odbieranie i obsługa wiadomości

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

MessageReceived zdarzenie

Dzięki zastąpieniu przypisania 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 wejściowych. Najczęściej wiadomości są wysyłane do aplikacji po zainicjowaniu przez dewelopera. Komunikaty są też wysyłane do Twojej aplikacji, aby reprezentować zdarzenia wysłania wiadomości, błędy wysyłania wiadomości i zdarzenia usuwania wiadomości. Te specjalne zdarzenia można odróżnić, sprawdzając pole MessageType.

Wiadomości usunięte

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

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

    Może się tak zdarzyć, gdy serwery aplikacji wysyłają dużą liczbę nieskładanych wiadomości do serwerów FCM, gdy urządzenie jest offline.

  2. Urządzenie od dłuższego czasu nie było używane, 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 wykonała pełną synchronizację z serwerem aplikacji.

Wyślij wydarzenie

Wywoływane po wysłaniu wiadomości nadrzędnej do FCM. MessageType będzie "send_event".

Błąd wysyłania

Wywoływany, gdy wystąpił błąd podczas wysyłania wiadomości w górę łańcucha. MessageType będzie "send_error".