| Sélectionnez une plate-forme : | iOS+ Android Web Flutter Unity C++ |
Pour recevoir des messages en aval, chaque application cliente doit implémenter les méthodes
de l'
firebase::messaging::Listener
API.
Initialiser FCM
Avant de pouvoir utiliser FCM pour accéder à votre jeton d'enregistrement ou recevoir des messages, vous devez l'initialiser.
Pour initialiser FCM, appelez
::firebase::messaging::Initialize
et fournissez-lui votre objet ::firebase::App
, ainsi qu'une implémentation de la classe
::firebase::messaging::Listener.
MyListener my_listener_implementation;
::firebase::messaging::Initialize(app, &my_listener_implementation);
Accéder au jeton d'enregistrement
Au démarrage initial de votre application, le FCM SDK génère un jeton d'enregistrement pour l'instance de l'application cliente. Si vous souhaitez cibler des appareils individuels ou créer des groupes d'appareils pour FCM, vous devez accéder à ce jeton.
Vous pouvez accéder à la valeur du jeton via la
::firebase::messaging::Listener::OnTokenReceived
fonction virtuelle.
void OnTokenReceived(const char* token) {
LogMessage("The registration token is `%s`", token);
// TODO: If necessary send token to application server.
}
Recevoir et gérer des messages
Pour recevoir des messages, votre classe d'écouteur doit implémenter la
OnMessage
fonction virtuelle.
Ignorer OnMessage
En ignorant la méthode ::firebase::messaging::Listener::OnMessage,
vous pouvez effectuer des actions en fonction du message reçu et obtenir les données du message
:
void OnMessage(const ::firebase::messaging::Message& message) {
LogMessage(TAG, "From: %s", message.from.c_str());
LogMessage(TAG, "Message ID: %s", message.message_id.c_str());
}
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 des événements d'envoi de messages, des événements d'erreur d'envoi de messages et des événements de suppression de messages. Vous pouvez différencier ces événements spéciaux en vérifiant le champ Message::message_type.
Messages supprimés
Envoyé à votre application lorsque le FCM serveur supprime les messages en attente.
Message::message_type sera "deleted_messages". Les messages peuvent être supprimés pour les raisons suivantes :
Trop de messages sont stockés sur le FCM serveur.
Cela peut se produire lorsque les serveurs d'une application envoient un grand nombre de messages non réductibles aux FCM serveurs lorsque l'appareil est hors connexion.
L'appareil n'a pas été connecté depuis longtemps et le serveur d'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 d'application après avoir reçu cet appel.