Définir et gérer la priorité des messages

Vous disposez de deux options pour attribuer une priorité de livraison aux messages en aval sur Android : priorité normale et haute. La livraison des messages normaux et hautement prioritaires fonctionne comme ceci :

  • Priorité normale. Il s'agit de la priorité par défaut pour les messages de données . Les messages de priorité normale sont délivrés immédiatement lorsque l'appareil n'est pas en veille. Lorsque l'appareil est en mode Sommeil , la livraison peut être retardée pour économiser la batterie jusqu'à ce que l'appareil quitte le mode Sommeil. Pour les messages moins urgents, tels que les notifications de nouveaux e-mails, la synchronisation de votre interface utilisateur ou la synchronisation des données d'application en arrière-plan, choisissez la priorité de livraison normale.

    Lorsque vous recevez un message de priorité normale sur Android demandant une synchronisation des données en arrière-plan pour votre application, vous pouvez planifier une tâche avec WorkManager pour la gérer lorsque le réseau est disponible.

  • Haute priorité. FCM tente de transmettre immédiatement des messages hautement prioritaires, ce qui lui permet de réveiller un appareil en veille si nécessaire et d'exécuter certains traitements limités (y compris un accès réseau très limité). Les messages hautement prioritaires doivent généralement entraîner une interaction de l'utilisateur avec votre application ou ses notifications.

Utiliser des messages hautement prioritaires pour Android

Les messages hautement prioritaires sur Android sont destinés à un contenu sensible au temps, visible par l'utilisateur et doivent donner lieu à des notifications destinées à l'utilisateur. Si FCM détecte un modèle dans lequel les messages n'entraînent pas de notifications destinées aux utilisateurs, vos messages peuvent être rétrogradés à la priorité normale. FCM utilise 7 jours de comportement des messages pour déterminer s'il convient de déprioriser les messages ; il effectue cette détermination indépendamment pour chaque instance de votre application. Si, en réponse à des messages hautement prioritaires, les notifications sont affichées d'une manière visible par l'utilisateur, alors vos futurs messages hautement prioritaires ne seront pas dépriorisés. Cela s'applique que la notification soit affichée par le SDK FCM via un message de notification ou une notification générée par le développeur via un message de données .

Mesurer la dépriorisation des messages sur Android

  • Messages individuels. Lors de la livraison, vous pouvez déterminer si un message individuel a été dépriorisé ou non en comparant sa priorité de livraison, issue de getPriority() , avec sa priorité d'origine, issue de getOriginalPriority().

  • Tous les messages. L' API FCM Aggregate Delivery Data peut indiquer le pourcentage de tous vos messages vers Android qui sont dépriorisés. Certains messages peuvent être omis des rapports de données globales, mais dans l'ensemble, ils devraient donner une vue globale des taux de dépriorisation des messages. Consultez notre article sur les données de livraison agrégées pour plus d'informations et un exemple de code pour interroger l'API ; il peut également être exploré à partir de l' explorateur d'API .

Dépannage

  • Assurez-vous que les notifications sont activées pour votre instance d'application. Si l'utilisateur a désactivé l'autorisation de notification pour votre application, aucune de vos notifications ne sera publiée, par conséquent, vos messages seront dépriorisés. Vous devez vérifier que les notifications sont activées avant d'envoyer des messages hautement prioritaires à une instance d'application.

  • N'appelez pas chez vous avant de poster une notification. Étant donné qu'une petite partie de la population mobile Android utilise des réseaux à latence élevée, évitez d'ouvrir une connexion à vos serveurs avant d'afficher une notification. Rappeler le serveur avant la fin du temps de traitement autorisé peut être risqué pour les utilisateurs des réseaux à latence élevée. Au lieu de cela, incluez le contenu de la notification dans le message FCM et affichez-le immédiatement. Si vous devez synchroniser du contenu supplémentaire dans l'application sur Android, vous pouvez planifier une tâche avec WorkManager pour gérer cela en arrière-plan.