Odbieranie wiadomości za pomocą Komunikacji w chmurze Firebase

Z tego przewodnika dowiesz się, jak skonfigurować Firebase Cloud Messaging w aplikacjach klienckich na urządzenia mobilne i w internecie, aby niezawodnie odbierać wiadomości.

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

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 zdarzenia można odróżnić, sprawdzając pole Message::message_type.

Usunięto wiadomości

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

  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ł do aplikacji na tym urządzeniu wiadomość.

    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".