Как получать сообщения в приложениях Unity

Выберите платформу: iOS+ Android Веб Flutter Unity C++


Чтобы получать сообщения, приложение должно назначить обратный вызов обработчику событий Firebase.Messaging.FirebaseMessaging.MessageReceived.

MessageReceived событие

Переопределив назначение обратного вызова для Firebase.Messaging.FirebaseMessaging.MessageReceived, вы можете выполнять действия на основе полученного сообщения и получать данные сообщения:

public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) {
  UnityEngine.Debug.Log("From: " + e.Message.From);
  UnityEngine.Debug.Log("Message ID: " + e.Message.MessageId);
}

Сообщения могут представлять разные типы входящих данных. Чаще всего сообщения отправляются в приложение после того, как их инициирует разработчик. В ваше приложение также отправляются сообщения, представляющие события отправки сообщений, ошибки отправки сообщений и события удаления сообщений. Эти особые события можно отличить по полю Message::message_type.

Сообщения удалены

Отправляется в приложение, когда сервер FCM удаляет ожидающие сообщения. Message::message_type будет стоить "deleted_messages". Сообщения могут быть удалены по следующим причинам:

  1. На сервере FCM хранится слишком много сообщений.

    Это может произойти, когда серверы приложения отправляют множество негруппируемых сообщений на серверы FCM, пока устройство находится в офлайн-режиме.

  2. Устройство долго не подключалось, а сервер приложения недавно (в течение последних четырех недель) отправил сообщение приложению на этом устройстве.

    После получения этого вызова рекомендуется выполнить полную синхронизацию приложения с сервером.

Отправка события

Вызывается, когда исходящее сообщение успешно отправлено в FCM. MessageType будет стоить "send_event".

Ошибка отправки

Вызывается, если при отправке исходящего сообщения произошла ошибка. MessageType будет стоить "send_error".