Messagerie de sujet sur Flutter

Basé 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 composez les messages de sujet selon vos besoins, et FCM gère le routage et la livraison 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 s'inscrire à 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 pouvaient s'abonner à des mises à jour automatiques des scores des matchs en direct de leurs équipes préférées.

Quelques éléments à garder à l'esprit concernant les sujets :

  • La messagerie par sujet convient mieux aux contenus tels que la météo ou d'autres informations accessibles au public.

  • Les messages de sujet sont optimisés pour le débit plutôt que pour la latence . Pour une livraison rapide et sécurisée à des appareils uniques ou à de petits groupes d'appareils, ciblez les messages sur des jetons d'inscription , 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 les abonnements illimités pour chaque sujet. Cependant, la FCM impose des limites dans ces domaines :

    • Une instance d'application ne peut pas être abonnée à plus de 2 000 sujets.
    • Si vous utilisez l'importation par lots pour souscrire 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 dans un court laps de temps, les serveurs FCM répondront avec une réponse 429 RESOURCE_EXHAUSTED ("quota dépassé"). Réessayez avec une temporisation exponentielle.

Abonnez l'application cliente à un sujet

Les applications clientes peuvent s'abonner à n'importe quel sujet existant ou créer un nouveau sujet. Lorsqu'une application cliente s'abonne à un nouveau nom de rubrique (qui n'existe pas déjà pour votre projet Firebase), une nouvelle rubrique portant ce nom est créée dans FCM et tout 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, voir Envoyer des messages aux rubriques sur Web/JavaScript .

Prochaines étapes

,

Basé 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 composez les messages de sujet selon vos besoins, et FCM gère le routage et la livraison 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 s'inscrire à 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 pouvaient s'abonner à des mises à jour automatiques des scores des matchs en direct de leurs équipes préférées.

Quelques éléments à garder à l'esprit concernant les sujets :

  • La messagerie par sujet convient mieux aux contenus tels que la météo ou d'autres informations accessibles au public.

  • Les messages de sujet sont optimisés pour le débit plutôt que pour la latence . Pour une livraison rapide et sécurisée à des appareils uniques ou à de petits groupes d'appareils, ciblez les messages sur des jetons d'inscription , 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 les abonnements illimités pour chaque sujet. Cependant, la FCM impose des limites dans ces domaines :

    • Une instance d'application ne peut pas être abonnée à plus de 2 000 sujets.
    • Si vous utilisez l'importation par lots pour souscrire 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 dans un court laps de temps, les serveurs FCM répondront avec une réponse 429 RESOURCE_EXHAUSTED ("quota dépassé"). Réessayez avec une temporisation exponentielle.

Abonnez l'application cliente à un sujet

Les applications clientes peuvent s'abonner à n'importe quel sujet existant ou créer un nouveau sujet. Lorsqu'une application cliente s'abonne à un nouveau nom de rubrique (qui n'existe pas déjà pour votre projet Firebase), une nouvelle rubrique portant ce nom est créée dans FCM et tout 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, voir Envoyer des messages aux rubriques sur Web/JavaScript .

Prochaines étapes

,

Basé 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 composez les messages de sujet selon vos besoins, et FCM gère le routage et la livraison 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 s'inscrire à 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 pouvaient s'abonner à des mises à jour automatiques des scores des matchs en direct de leurs équipes préférées.

Quelques éléments à garder à l'esprit concernant les sujets :

  • La messagerie par sujet convient mieux aux contenus tels que la météo ou d'autres informations accessibles au public.

  • Les messages de sujet sont optimisés pour le débit plutôt que pour la latence . Pour une livraison rapide et sécurisée à des appareils uniques ou à de petits groupes d'appareils, ciblez les messages sur des jetons d'inscription , 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 les abonnements illimités pour chaque sujet. Cependant, la FCM impose des limites dans ces domaines :

    • Une instance d'application ne peut pas être abonnée à plus de 2 000 sujets.
    • Si vous utilisez l'importation par lots pour souscrire 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 dans un court laps de temps, les serveurs FCM répondront avec une réponse 429 RESOURCE_EXHAUSTED ("quota dépassé"). Réessayez avec une temporisation exponentielle.

Abonnez l'application cliente à un sujet

Les applications clientes peuvent s'abonner à n'importe quel sujet existant ou créer un nouveau sujet. Lorsqu'une application cliente s'abonne à un nouveau nom de rubrique (qui n'existe pas déjà pour votre projet Firebase), une nouvelle rubrique portant ce nom est créée dans FCM et tout 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, voir Envoyer des messages aux rubriques sur Web/JavaScript .

Prochaines étapes