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

Vous avez deux options pour attribuer une priorité de livraison aux messages en aval sur Android : priorité normale et haute. La livraison des messages de priorité normale et élevée fonctionne comme ceci :

  • Priorité normale. Il s'agit de la priorité par défaut des 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 Doze , la livraison peut être retardée pour économiser la batterie jusqu'à ce que l'appareil quitte le mode Doze. 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 prioritaire normal sur Android qui demande 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 livrer immédiatement des messages de haute priorité, permettant à FCM de réveiller un appareil en veille si nécessaire et d'exécuter un traitement limité (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.

Utilisation de messages hautement prioritaires pour Android

Les messages de haute priorité sur Android sont destinés au contenu sensible au temps et visible par l'utilisateur, et doivent entraîner 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 à l'utilisateur, vos messages peuvent être dépriorisés à la priorité normale. FCM utilise 7 jours de comportement des messages pour déterminer s'il faut 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 de manière visible pour l'utilisateur, 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, de getPriority() , avec sa priorité d'origine, 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 agrégées, mais dans l'ensemble, ils doivent 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 de haute priorité à une instance d'application.

  • N'appelez pas chez vous avant d'avoir posté une notification. Étant donné qu'une petite partie de la population mobile Android se trouve sur 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 sur 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 avez besoin de synchroniser du contenu supplémentaire dans l'application sur Android, vous pouvez planifier une tâche avec WorkManager pour la gérer en arrière-plan.