Basé sur le modèle de publication et d'abonnement, la messagerie par sujet FCM vous permet d'envoyer un message à plusieurs appareils ayant activé un sujet particulier. Vous rédigez des messages de sujet selon vos besoins, et FCM gère l'acheminement et la distribution fiable des messages aux bons appareils.
Par exemple, les utilisateurs d'une application de prévision des marées locales peuvent activer un thème "Alertes de courants de marée" et recevoir des notifications sur les conditions de pêche en eau salée optimales dans des zones spécifiées. Les utilisateurs d'une application sportive peuvent s'abonner à des mises à jour automatiques des scores des matchs en direct pour leurs équipes préférées.
Voici quelques points à retenir concernant les sujets :
Les messages de type "Topic" sont particulièrement adaptés aux contenus tels que la météo ou d'autres informations publiques.
Les messages thématiques sont optimisés pour le débit plutôt que pour la latence. Pour une diffusion rapide et sécurisée sur des appareils uniques ou de petits groupes d'appareils, ciblez les messages sur les jetons d'enregistrement, et non sur les sujets.
Si vous devez envoyer des messages à plusieurs appareils par utilisateur, envisagez d'utiliser la messagerie de groupe d'appareils pour ces cas d'utilisation.
La messagerie de sujets accepte un nombre illimité d'abonnements pour chaque sujet. Toutefois, FCM applique des limites dans les domaines suivants :
- Une instance d'application ne peut pas être abonnée à plus de 2 000 thèmes.
- Si vous utilisez l'importation par lot pour abonner des instances d'application, chaque requête est limitée à 1 000 instances d'application.
- La fréquence des nouveaux abonnements est limitée par projet. Si vous envoyez trop de demandes d'abonnement en peu de temps, les serveurs FCM renvoient une réponse
429 RESOURCE_EXHAUSTED
("quota dépassé"). Réessayez avec un intervalle exponentiel entre les tentatives.
Abonner l'application cliente à un sujet
Les applications clientes peuvent s'abonner à n'importe quel sujet existant ou en créer un. Lorsqu'une application cliente s'abonne à un nouveau nom de thème (qui n'existe pas encore pour votre projet Firebase), un nouveau thème de ce nom est créé dans FCM et tout client peut ensuite s'y abonner.
Pour vous abonner à un thème, appelez subscribeToTopic()
avec le nom du thème. Cette méthode renvoie un Future
, qui se résout lorsque l'abonnement a réussi :
await FirebaseMessaging.instance.subscribeToTopic("topic");
Pour vous désabonner, appelez unsubscribeFromTopic()
avec le nom du thème.
subscribeToTopic()
et unsubscribeFromTopic()
ne sont pas compatibles avec les clients Web. Pour savoir comment gérer les abonnements des utilisateurs Web, consultez la section Envoyer des messages à des sujets sur le Web/JavaScript.
Étapes suivantes
- Découvrez comment envoyer des messages avec des sujets.
- Découvrez comment gérer les abonnements aux sujets sur le serveur.