Recevoir des messages dans une application cliente Unity

Recevoir et gérer les 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 d'envoi de messages, les événements d'erreur d'envoi de messages et les événements de suppression de messages. Ces événements spéciaux peuvent être différenciés en vérifiant le champ MessageType.

Messages supprimés

Envoyée à 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.

    Nous vous recommandons de procéder à une synchronisation complète avec le serveur d'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é en cas d'erreur lors de l'envoi d'un message en amont. MessageType sera "send_error".