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. Wiadomości są też wysyłane do aplikacji w przypadku 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ę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".