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 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. Do aplikacji są też wysyłane wiadomości reprezentujące zdarzenia wysłania wiadomości, zdarzenia błędów wysyłania wiadomości i zdarzenia usunięcia wiadomości. Te specjalne wydarzenia można odróżnić, sprawdzając pole Message::message_type.

Wiadomości usunięte

Wysyłane do aplikacji, gdy serwer FCM usuwa oczekujące wiadomości. Message::message_type będzie kosztować "deleted_messages". Wiadomości mogą zostać usunięte z powodu:

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

    Może się to zdarzyć, gdy serwery aplikacji wysyłają wiele niezwijanych wiadomości na serwery FCM, gdy urządzenie jest offline.

  2. Urządzenie nie było połączone z internetem 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 kosztować "send_event".

Błąd wysyłania

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