Messagerie de sujet sur Flutter

Basée sur le modèle de publication/abonnement, la messagerie de sujet FCM vous permet d'envoyer un message à plusieurs appareils qui se sont inscrits à un sujet particulier. Vous rédigez des messages thématiques selon vos besoins, et FCM gère le routage et la transmission du message de manière fiable vers les bons appareils.

Par exemple, les utilisateurs d'une application locale de prévision des marées pourraient opter pour un sujet « alertes de courants de marée » et recevoir des notifications sur les conditions optimales de pêche en eau salée dans des zones spécifiées. Les utilisateurs d’une application sportive pourraient s’abonner à des mises à jour automatiques des scores en direct de leurs équipes préférées.

Quelques points à garder à l’esprit sur les sujets :

  • La messagerie thématique est mieux adaptée au contenu tel que la météo ou d’autres informations accessibles au public.

  • 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 sur de petits groupes d'appareils, ciblez les messages sur des jetons d'enregistrement et non sur des sujets.

  • Si vous devez envoyer des messages à plusieurs appareils par utilisateur , envisagez la messagerie de groupe d'appareils pour ces cas d'utilisation.

  • La messagerie thématique prend en charge des abonnements illimités pour chaque sujet. Cependant, FCM impose des limites dans les domaines suivants :

    • Une instance d’application ne peut pas être abonnée à plus de 2 000 sujets.
    • Si vous utilisez l'importation par lots pour abonner des instances d'application, chaque demande 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 sur une courte période, les serveurs FCM répondront avec une réponse 429 RESOURCE_EXHAUSTED (« quota dépassé »). Réessayez avec une interruption exponentielle.

Abonnez l'application client à un sujet

Les applications clientes peuvent s'abonner à n'importe quel sujet existant ou créer un nouveau sujet. Lorsqu'une application client s'abonne à un nouveau nom de sujet (qui n'existe pas déjà pour votre projet Firebase), un nouveau sujet de ce nom est créé dans FCM et n'importe quel client peut ensuite s'y abonner.

Pour vous abonner à un sujet, appelez subscribeToTopic() avec le nom du sujet. Cette méthode renvoie un Future , qui se résout lorsque l'abonnement a réussi :

await FirebaseMessaging.instance.subscribeToTopic("topic");

Pour vous désinscrire, appelez unsubscribeFromTopic() avec le nom du sujet.

subscribeToTopic() et unsubscribeFromTopic() ne sont pas pris en charge pour les clients Web. Pour savoir comment gérer les abonnements des utilisateurs Web, consultez Envoyer des messages à des sujets sur Web/JavaScript .

Prochaines étapes