Messagerie par sujet dans Flutter

Basé sur le modèle de publication/abonnement, le message de sujet FCM vous permet d'envoyer un message à plusieurs appareils qui ont 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 de discussion 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 par sujet 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