Recevoir des messages sur une application client Unity

Recevoir et traiter les messages

Pour recevoir des messages, votre application doit attribuer un rappel au gestionnaire d'événements Firebase.Messaging.FirebaseMessaging.MessageReceived .

Événement MessageReceived

En remplaçant l'attribution d'un rappel à Firebase.Messaging.FirebaseMessaging.MessageReceived , vous pouvez effectuer des actions basées sur le message reçu et obtenir les données du message :

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

Les messages peuvent représenter différents types de données entrantes. Le plus souvent, les messages sont envoyés à l'application après avoir été initiés par le développeur. Des messages sont également envoyés à votre application pour représenter les événements de message envoyé, les événements d'erreur d'envoi de message et les événements de messages supprimés. Ces événements spéciaux peuvent être différenciés en vérifiant le champ MessageType .

Messages supprimés

Envoyé à votre application lorsque le serveur FCM supprime les messages en attente. MessageType sera "deleted_messages" . Les messages peuvent être supprimés si :

  1. Trop de messages sont stockés sur le serveur FCM.

    Cela peut se produire lorsque les serveurs d'une application envoient un ensemble de messages non réductibles aux serveurs FCM alors que l'appareil est hors ligne.

  2. L'appareil ne s'est pas connecté depuis longtemps et le serveur d'application a récemment (au cours des 4 dernières semaines) envoyé un message à l'application sur cet appareil.

    Il est recommandé que l'application effectue une synchronisation complète avec le serveur d'applications après avoir reçu cet appel.

Envoyer un événement

Appelé lorsqu'un message en amont a été envoyé avec succès à FCM. MessageType sera "send_event" .

Envoyer une erreur

Appelé en cas d'erreur lors de l'envoi d'un message en amont. MessageType sera "send_error" .