Recevoir des messages dans une application cliente Unity

Recevoir et gérer des messages

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

MessageReceived événement

En remplaçant l'attribution d'un rappel à Firebase.Messaging.FirebaseMessaging.MessageReceived, vous pouvez effectuer des actions en fonction du 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 messages envoyés, les événements d'erreur d'envoi de messages et les événements de messages supprimés. Vous pouvez différencier ces événements spéciaux 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 grand nombre de messages non réductibles aux serveurs FCM lorsque l'appareil est hors connexion.

  2. L'appareil ne s'est pas connecté depuis longtemps et le serveur de l'application a récemment (au cours des quatre 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 de l'application après avoir reçu cet appel.

Envoyer un événement

Appelé lorsqu'un message en amont a bien été envoyé à FCM. MessageType sera "send_event".

Erreur d'envoi

Appelée lorsqu'une erreur s'est produite lors de l'envoi d'un message en amont. MessageType sera "send_error".