В этом руководстве описывается, как настроить Firebase Cloud Messaging в мобильных и веб-клиентских приложениях, чтобы вы могли надежно получать сообщения.
Для получения сообщений ваше приложение должно назначить обратный вызов обработчику событий 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"
. Сообщения могут быть удалены по следующим причинам:
Слишком много сообщений хранится на сервере FCM .
Это может произойти, когда серверы приложения отправляют множество несворачиваемых сообщений на серверы FCM , пока устройство находится в автономном режиме.
Устройство не подключалось в течение длительного времени, и сервер приложений недавно (в течение последних 4 недель) отправил сообщение приложению на этом устройстве.
После получения этого вызова приложению рекомендуется выполнить полную синхронизацию с сервером приложений.
Отправить событие
Вызывается после успешной отправки сообщения в FCM . MessageType
будет "send_event"
.
Ошибка отправки
Вызывается при возникновении ошибки при отправке сообщения в восходящем направлении. MessageType
будет "send_error"
.