Receber mensagens em um aplicativo cliente Unity

Receber e tratar mensagens

Para receber mensagens, seu aplicativo deve atribuir um retorno de chamada ao manipulador de eventos Firebase.Messaging.FirebaseMessaging.MessageReceived .

Evento MessageReceived

Ao substituir a atribuição de um retorno de chamada a Firebase.Messaging.FirebaseMessaging.MessageReceived , você pode executar ações com base na mensagem recebida e obter os dados da mensagem:

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

As mensagens podem representar diferentes tipos de dados recebidos. Mais comumente, as mensagens são enviadas ao aplicativo após serem iniciadas pelo desenvolvedor. As mensagens também são enviadas ao seu aplicativo para representar eventos de envio de mensagens, eventos de erro de envio de mensagens e eventos de mensagens excluídas. Esses eventos especiais podem ser diferenciados verificando o campo MessageType .

Mensagens excluídas

Enviado para seu aplicativo quando o servidor FCM exclui mensagens pendentes. MessageType será "deleted_messages" . As mensagens podem ser excluídas se:

  1. Muitas mensagens estão armazenadas no servidor FCM.

    Isso pode ocorrer quando os servidores de um aplicativo enviam um monte de mensagens não recolhíveis para servidores FCM enquanto o dispositivo está offline.

  2. O dispositivo não se conecta há muito tempo e o servidor do aplicativo enviou recentemente (nas últimas quatro semanas) uma mensagem para o aplicativo nesse dispositivo.

    Recomenda-se que o aplicativo faça uma sincronização completa com o servidor do aplicativo após receber esta chamada.

Enviar Evento

Chamado quando uma mensagem upstream foi enviada com sucesso ao FCM. MessageType será "send_event" .

Erro de envio

Chamado quando houve um erro ao enviar uma mensagem upstream. MessageType será "send_error" .