Odbieranie wiadomości w aplikacji klienckiej Unity

Odbieranie i przetwarzanie wiadomości

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

MessageReceived zdarzenie

Za pomocą zastąpienia przypisania wywołania zwrotnego do funkcji Firebase.Messaging.FirebaseMessaging.MessageReceivedmożesz wykonywać działania na podstawie otrzymanej wiadomości i pozyskiwać dane z tej 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

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

  1. Na serwerze FCM jest za dużo 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 nie było połączone przez długi czas, a serwer aplikacji wysłał niedawno (w ciągu ostatnich 4 tygodni) 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 zdarzenie

Jest wywoływany, gdy wiadomość z wyższego poziomu została wysłana na adres 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".