Как получать сообщения в приложениях 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".