Avec FCM, vous pouvez envoyer deux types de messages à vos applications clientes :
- Les messages de notification, semblables aux "messages à afficher", sont gérés automatiquement par le SDK FCM.
- Messages de données, qui sont gérés par l'application cliente.
Les messages de notification contiennent un ensemble prédéfini de clés visibles par l'utilisateur et peuvent contenir une charge utile de données facultative. En revanche, les messages de données ne contiennent que les paires clé/valeur personnalisées que vous avez définies. La charge utile maximale pour les deux types de messages est de 4 096 octets, sauf lorsque vous envoyez des messages depuis la console Firebase, qui impose une limite de 1 000 caractères.
Scénario d'utilisation | Envoyer | |
---|---|---|
Message de notification | Le SDK FCM affiche le message sur les appareils des utilisateurs finaux au nom de l'application cliente lorsqu'elle s'exécute en arrière-plan. Sinon, si l'application est exécutée au premier plan lorsque la notification est reçue, le code de l'application détermine le comportement. |
|
Message data | L'application cliente est responsable du traitement des messages de données. Les messages de données ne contiennent que des paires clé-valeur personnalisées, sans nom de clé réservé (voir ci-dessous). | Dans un environnement de confiance tel que
Cloud Functions ou votre serveur d'application, utilisez Firebase Admin SDK ou l'API HTTP v1.
Dans la requête d'envoi, définissez la clé data .
|
Vous pouvez utiliser des messages de notification lorsque vous souhaitez que le SDK FCM gère l'affichage d'une notification automatiquement lorsque votre application s'exécute en arrière-plan. FCM peut envoyer un message de notification avec une charge utile de données facultative. Dans ce cas, FCM affiche la charge utile de notification, et l'application cliente gère la charge utile de données.
Vous pouvez utiliser des messages de données lorsque vous souhaitez traiter les messages avec votre propre code d'application cliente.
Messages de notification
Vous pouvez envoyer des messages de notification à l'aide de la console Firebase, de Firebase Admin SDK ou de l'API FCM HTTP v1. La console Firebase propose des tests A/B basés sur des données analytiques pour vous aider à affiner et à améliorer vos messages de notification.
Pour envoyer des messages de notification à l'aide de l'API HTTP v1 Firebase Admin SDK ou FCM, définissez la clé notification
avec l'ensemble prédéfini d'options clé-valeur du message de notification. Vous pouvez utiliser l'exemple suivant pour mettre en forme un message de notification dans une application de messagerie instantanée.
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"notification":{
"title":"Portugal vs. Denmark",
"body":"great match!"
}
}
}
Les messages de notification sont distribués dans la barre de notification lorsque l'application est en arrière-plan. Pour les applications au premier plan, les messages sont gérés par une fonction de rappel.
Vous pouvez consulter la documentation de référence sur l'objet de notification de l'API FCM HTTP/1 pour obtenir la liste complète des clés prédéfinies disponibles pour créer des messages de notification.
Messages de données
C'est à vous de choisir comment utiliser la charge utile FCM data
pour implémenter le schéma de chiffrement de votre choix. Assurez-vous de ne pas utiliser de mots réservés dans vos paires clé-valeur personnalisées. Les mots réservés incluent from
, message_type
ou tout mot commençant par google.
, gcm.
ou gcm.notification.
.
L'exemple suivant montre l'utilisation du champ de données de premier niveau ou commun, qui est interprété par les clients sur toutes les plates-formes qui reçoivent le message. Sur chaque plate-forme, l'application cliente reçoit la charge utile de données dans une fonction de rappel.
{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
"Nick" : "Mario",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
}