Ir a la consola

Recibe mensajes en una app cliente de Unity

Recibe y administra mensajes

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

Evento MessageReceived

Puedes anular la asignación de una devolución de llamada a Firebase.Messaging.FirebaseMessaging.MessageReceived para ejecutar acciones basadas en el mensaje recibido y obtener los datos del mensaje, como en el siguiente ejemplo:

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 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 FCM.

    Esto puede ocurrir cuando los servidores de una app envían varios mensajes no contraíbles a los servidores 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 ascendente se envía correctamente al servidor de conexiones de 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".