Autorisation de notification pour les notifications d'inscription

Les notifications dans Android 13 utilisent un modèle d’adhésion, ce qui constitue un changement par rapport aux versions précédentes d’Android, qui utilisent un modèle de désinscription. Dans Android 13, toutes les applications doivent demander l’autorisation aux utilisateurs avant d’envoyer des invites de notification. Ce modèle permet de réduire les interruptions de notification, de minimiser la surcharge d'informations et d'aider les utilisateurs à contrôler les notifications qui s'affichent en fonction de ce qui est important pour eux. Pour prendre en charge le modèle opt-in, les OEM doivent mettre en œuvre des modifications dans les systèmes de notification et d'autorisation d'exécution.

Cette page décrit ce que les OEM doivent mettre en œuvre pour prendre en charge ce changement et comment valider la mise en œuvre.

Implémenter les modifications pour les notifications d'inscription

À partir d'Android 13, les applications doivent déclarer leur intention d'envoyer des notifications en demandant l'autorisation d'exécution android.permission.POST_NOTIFICATION au système avant de pouvoir envoyer des notifications.

Sous Android 13 et versions ultérieures, le paramètre qui détermine si une application peut envoyer des notifications à l'utilisateur est stocké dans le système d'autorisations. Avant Android 13, ce paramètre était stocké dans le système de notification. Par conséquent, les OEM doivent migrer les données de notification existantes indiquant si une application est autorisée à envoyer des notifications, du système de notification vers le système d'autorisation d'exécution. Les OEM doivent également conserver les API existantes dans le système de notification qui transmettent ces données aux développeurs d'applications.

Les modifications apportées aux systèmes de notification et d'autorisation sont basées sur le modèle opt-in du comportement de notification des utilisateurs et sont décrites dans la section Lignes directrices pour la mise en œuvre .

Comportement des notifications utilisateur dans un modèle opt-in

Le tableau suivant illustre le comportement de notification pour différentes versions d'application sur un appareil exécutant Android 13 :

Appareil sur Android 13 Applications ciblant Android 13 ou version ultérieure Applications ciblant les versions inférieures à Android 13
Nouvelle installation Les notifications sont bloquées jusqu'à ce que l'application vous y invite.

Les applications contrôlent quand demander la permission.

Les notifications sont bloquées jusqu'à ce que le système d'exploitation vous y invite.

L'autorisation est demandée lors de la première exécution de l'application.

Application existante (mise à niveau) Les notifications sont autorisées jusqu'à ce que l'application vous y invite.

Une autorisation temporaire est accordée jusqu'à ce que l'application le demande lors de la première exécution de qualification.

Les notifications sont autorisées jusqu'à ce que le système d'exploitation vous y invite.

Une autorisation temporaire est accordée jusqu'à la première exécution de l'application.

Lignes directrices pour la mise en œuvre

Pour une implémentation de référence, reportez-vous au service de notification , au service d'autorisation et au service de stratégie . Pour implémenter des exceptions pour les gestionnaires d'autorisations par défaut, consultez Autorisations d'exécution .

Pendant la mise en œuvre, suivez les directives suivantes sur le comportement de notification des utilisateurs pour les applications ciblant les SDK Android 13 ou version antérieure :

  • Les applications fraîchement installées sur un appareil Android 13 ne doivent pas envoyer de notification sans que l'utilisateur n'approuve une invite d'autorisation.
    • Si l'application cible les versions Android 13 et supérieures, les notifications doivent être bloquées jusqu'à ce que l'application vous y invite, car l'application contrôle quand et si demander l'autorisation de l'utilisateur.
    • Si l'application cible des versions inférieures à Android 13, les notifications doivent être bloquées jusqu'à ce que le système d'exploitation vous y invite. Le système d'exploitation doit afficher l'invite d'autorisation lors de la première exécution de l'application.
  • Toute application qui existait sur l'appareil avant une mise à niveau vers Android 13, ou toute application restaurée via une sauvegarde et une restauration, doit être autorisée à envoyer des notifications jusqu'à la première fois que l'utilisateur lance une activité à partir de cette application.

    • Pour les applications qui ciblent le SDK des versions Android 13 et supérieures, si l'utilisateur n'a pas déjà personnalisé les paramètres de notification pour cette application au niveau de l'application ou NotificationChannel , révoquez l'octroi d'autorisation temporaire. Les applications doivent ensuite demander l’autorisation à l’utilisateur avant d’être autorisées à continuer à envoyer des notifications.

      Si une application mise à niveau ciblant Android 13 ne dispose pas actuellement de l'autorisation de notification via l'autorisation de mise à niveau temporaire et que l'utilisateur l'a lancée au moins une fois, l'application doit afficher une invite d'autorisation de notification avant d'être autorisée à exécuter d'autres services de premier plan.

    • Pour les applications qui ont un SDK cible de versions inférieures à Android 13, interceptez le premier lancement d'activité après que l'application a créé au moins un NotificationChannel pour afficher une invite d'autorisation demandant si l'utilisateur souhaite recevoir des notifications de l'application.

      Si un utilisateur a précédemment personnalisé les paramètres de notification au niveau de l'application ou NotificationChannel pour une application sur l'appareil de mise à niveau ou dans une sauvegarde en cours de restauration sur l'appareil, le paramètre au niveau de l'application doit être migré dans le système d'autorisation avec l'indicateur FLAG_PERMISSION_USER_SET . Aucune autre invite d'autorisation de notification ne doit être affichée à l'utilisateur, sauf si l'application le demande spécifiquement.

  • La sauvegarde et la restauration doivent être compatibles en amont et en aval entre un appareil Android 13 et un appareil d’une version antérieure du système d’exploitation. Les données de sauvegarde générées à partir d'un appareil Android 13 doivent être restaurées sur une version antérieure du système d'exploitation, et les données de sauvegarde d'une version antérieure du système d'exploitation doivent être restaurées sur un appareil Android 13.

  • Les notifications multimédias associées à la lecture multimédia en cours doivent être exemptées de l'autorisation de notification.

Valider les modifications apportées aux systèmes de notification et d'autorisation

Pour valider l'implémentation, exécutez les tests suivants :