Recibe mensajes en una app cliente de Unity

Recibe y maneja mensajes

Para recibir mensajes, tu app debe asignar una devolución de llamada al controlador de eventos Firebase.Messaging.FirebaseMessaging.MessageReceived.

Evento MessageReceived

Si anulas la asignación de una devolución de llamada a Firebase.Messaging.FirebaseMessaging.MessageReceived, puedes ejecutar acciones según el mensaje recibido y obtener los datos del mensaje:

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

Los mensajes pueden representar diferentes tipos de datos entrantes. Por lo general, los mensajes se envían a la app después de que el desarrollador los inicia. También se envían mensajes a tu app para representar eventos de mensajes enviados, de error de envío de mensajes y de mensajes borrados. Puedes reconocer estos eventos especiales si revisas el campo MessageType.

Mensajes borrados

Se envían a tu app cuando el servidor de FCM borra los mensajes pendientes. El MessageType será "deleted_messages". Es posible que se borren los mensajes debido a lo siguiente:

  1. Hay demasiados mensajes almacenados en el servidor de FCM.

    Esto puede ocurrir cuando los servidores de una app envían varios mensajes no contraíbles a los servidores de FCM mientras el dispositivo está sin conexión.

  2. El dispositivo no se ha conectado en mucho tiempo y el servidor de apps envió recientemente (en las últimas 4 semanas) un mensaje a la app en ese dispositivo.

    Se recomienda que la app realice una sincronización completa con el servidor de apps después de recibir esta llamada.

Evento de envío

Se llama cuando un mensaje upstream se envía correctamente a FCM. El MessageType será "send_event".

Error de envío

Se llama cuando se produce un error de envío de un mensaje ascendente. El MessageType será "send_error".