Odbieranie wiadomości w aplikacjach Unity

Wybierz platformę: iOS+ Android Web Flutter Unity C++


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

Zdarzenie MessageReceived

Przez zastąpienie 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 przychodzących. Najczęściej wiadomości są wysyłane do aplikacji po zainicjowaniu przez dewelopera. Wiadomości są też wysyłane do aplikacji w celu reprezentowania zdarzeń wysłania wiadomości, zdarzeń błędów wysyłania wiadomości i zdarzeń usunięcia wiadomości. Te specjalne zdarzenia można odróżnić, sprawdzając pole Message::message_type.

Usunięte wiadomości

Wysyłane do aplikacji, gdy serwer FCM usunie oczekujące wiadomości. Message::message_type będzie mieć wartość "deleted_messages". Wiadomości mogą zostać usunięte z tych powodów:

  1. Zbyt wiele wiadomości przechowywanych na serwerze FCM.

    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 łączyło się przez długi czas, 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.

Zdarzenie wysłania

Wywoływane, gdy wiadomość wysyłana do FCM zostanie wysłana. MessageType będzie mieć wartość "send_event".

Błąd wysyłania

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