Recibir mensajes en una aplicación cliente de Unity

Recibir y manejar mensajes.

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

Evento MessageReceived

Al anular la asignación de una devolución de llamada a Firebase.Messaging.FirebaseMessaging.MessageReceived , puedes realizar acciones basadas en 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. Lo más habitual es que los mensajes se envíen a la aplicación después de que el desarrollador los haya iniciado. Los mensajes también se envían a su aplicación para representar eventos de mensajes enviados, eventos de errores de envío de mensajes y eventos de mensajes eliminados. Estos eventos especiales se pueden diferenciar marcando el campo MessageType .

Mensajes eliminados

Enviado a su aplicación cuando el servidor FCM elimina mensajes pendientes. MessageType será "deleted_messages" . Los mensajes se pueden eliminar si:

  1. Hay demasiados mensajes almacenados en el servidor FCM.

    Esto puede ocurrir cuando los servidores de una aplicación envían una serie de mensajes no plegables a los servidores FCM mientras el dispositivo está desconectado.

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

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

Enviar evento

Se llama cuando un mensaje ascendente se ha enviado correctamente a FCM. MessageType será "send_event" .

Enviar error

Se llama cuando hubo un error al enviar un mensaje ascendente. MessageType será "send_error" .