Attribution des notifications natives pour les applications Web sur macOS

Marijn Kruisselbrink
Marijn Kruisselbrink
Dan Murphy
Dan Murphy

Publication : 16 juillet 2026

À partir de Chrome 152, les notifications des applications Web progressives (PWA) installées sur macOS seront attribuées à la PWA elle-même, et non à Google Chrome.

Cela améliore considérablement l'expérience utilisateur, en donnant l'impression que les applications Web sont mieux intégrées à macOS. Toutefois, elle introduit également des modifications importantes concernant la gestion des autorisations de notification et le comportement de certaines API de notification.

Qu'est-ce qui change ?

Auparavant, toutes les notifications envoyées par les PWA étaient attribuées à Chrome au niveau de l'OS. Dans le centre de notifications macOS, elles s'affichaient sous "Google Chrome" et utilisaient l'icône Chrome. Pour désactiver les notifications, les utilisateurs devaient utiliser les commandes de Chrome, et non les réglages système de macOS.

Avec l'attribution des notifications, lorsqu'un site est installé en tant que PWA, macOS le traite comme une application distincte pour les notifications. Cela s'applique à la fois aux PWA nouvellement installées et à celles que l'utilisateur avait déjà installées.

Avantages :

  • Identité de marque : les notifications affichent le nom et l'icône de la PWA dans le centre de notifications et les bannières macOS.
  • Commandes utilisateur connues : les commandes de notification pour ces applications s'affichent désormais exactement là où les utilisateurs s'y attendent, c'est-à-dire dans les réglages système de macOS (et non dans Chrome).
  • Contrôle précis : les utilisateurs peuvent gérer les paramètres de notification des applications Web progressives individuelles (par exemple, les styles d'alerte et le comportement de l'écran de verrouillage).
  • Modes concentration : les PWA peuvent être autorisées ou mises en sourdine individuellement dans les profils de concentration macOS (Ne pas déranger).
Attribué à "Google Chrome" avec l'icône Chrome.
Avant : attribué à "Google Chrome" avec l'icône Chrome.
Attribué à "Nom de la PWA" avec l'icône personnalisée de la PWA.
Après : attribué à "Nom de la PWA" avec l'icône personnalisée de la PWA.

Le nouveau flux d'autorisation

Étant donné que macOS traite désormais la PWA comme une application distincte, la PWA doit obtenir une autorisation de notification au niveau de l'OS avant de pouvoir afficher des notifications. Cela modifie le flux d'autorisation pour les nouveaux utilisateurs et ceux existants.

Nouveaux utilisateurs (première demande d'autorisation)

Si un utilisateur installe une PWA et que le site demande l'autorisation de notification après l'installation :

  1. Chrome ignorera l'invite d'autorisation au niveau du navigateur (le menu déroulant de la barre d'adresse).
  2. Chrome déclenchera immédiatement l'invite d'autorisation du système macOS pour la PWA.
Boîte de dialogue d'autorisation du système macOS : "Nom de la PWA" souhaite vous envoyer des notifications. Les notifications peuvent inclure des alertes, des sons et des badges d'icônes, avec les boutons "Ne pas autoriser" et "Autoriser".
Boîte de dialogue d'autorisation du système macOS pour la PWA installée.
Organigramme illustrant le processus d'autorisation des PWA. Commence par "PWA Requests Permission" (PWA demande une autorisation), ce qui conduit à la décision "Installed?" (Installée ?). Si la réponse est "Oui", l'invite Chrome est ignorée et l'invite système macOS s'affiche. Si la réponse est "Non", l'invite du navigateur Chrome s'affiche, l'utilisateur installe la PWA, puis l'invite du système macOS s'affiche.
Organigramme du processus d'autorisation des notifications PWA.

Utilisateurs existants (chemin de migration)

Si un utilisateur a déjà accordé l'autorisation d'envoyer des notifications à votre site Web dans Chrome, puis installe (ou a déjà installé) la PWA, il doit quand même accorder l'autorisation au niveau de l'OS à la PWA.

Pour que cette transition se passe le mieux possible :

  1. La première fois que la PWA tente d'envoyer une notification, macOS affiche l'invite d'autorisation du système.
  2. Si l'utilisateur approuve, les notifications continueront de fonctionner normalement.
  3. Si l'utilisateur ignore ou ferme cette invite, la PWA affichera un indicateur dans l'application (généralement dans la barre de titre ou le menu de l'application) pour le guider vers les réglages système de macOS afin qu'il puisse activer manuellement les autorisations.
Invite pour les PWA installées informant l'utilisateur que les notifications sont désactivées dans les réglages système Mac, avec un bouton permettant d'y accéder.
Invite dans la PWA guidant l'utilisateur vers les paramètres système de macOS.
Paramètres de l'application avec l'option permettant d'activer ou de désactiver les notifications, et un pointeur vers les paramètres système pour activer les notifications.
Paramètres de l'application dans Chrome avec un indicateur permettant d'ouvrir les réglages système de macOS.
Invite dans l'application du navigateur informant l'utilisateur que les notifications sont désactivées dans les réglages système Mac, avec un bouton permettant d'y accéder.
Invite dans le navigateur guidant l'utilisateur vers les réglages système de macOS.

Impact sur les développeurs : arrêt de requireInteraction sur macOS

Sur macOS, le fait qu'une notification reste à l'écran jusqu'à ce que l'utilisateur la ferme ("Persistante") ou qu'elle disparaisse automatiquement ("Temporaire") est un paramètre par application contrôlé par l'utilisateur dans les réglages système de macOS.

En raison de la conception de cet OS, Chrome ne respectera plus l'option requireInteraction dans l'API Notification sur macOS lorsque l'attribution est active.

Ce que cela signifie pour votre code :

Si votre application s'appuie sur requireInteraction: true pour que les notifications critiques restent à l'écran, cela ne sera plus garanti sur macOS. À la place, vous devez :

  • Concevez votre application en partant du principe que les notifications peuvent être temporaires (Temporary).
  • Encouragez les utilisateurs qui ont besoin de notifications persistantes à configurer le style d'alerte de notification de la PWA sur "Persistent" dans System Settings > Notifications > [Your PWA].
Paramètres système macOS, mettant en évidence le paramètre "Style d'alerte" avec les options "Temporaire" et "Persistant".
Paramètres système macOS pour la PWA affichant le paramètre de style d'alerte (temporaire ou persistant).

Impact pour les développeurs : l'API App Badging nécessite l'autorisation de notification

L'API App Badging permet aux applications Web de définir un badge sur l'icône de leur application (par exemple, pour afficher le nombre de messages non lus). Sur macOS, les badges d'icône d'application sont techniquement liés aux paramètres de notification de l'application. En effet, la PWA possède désormais sa propre identité de notification native :

  • Autorisation requise : la PWA doit avoir activé l'autorisation de notification au niveau de l'OS pour que le badge s'affiche sur l'icône du Dock. Cela correspond aux normes de la plate-forme macOS et à la façon dont Safari gère déjà l'API Badging pour les applications Web.
  • Échec silencieux : si l'utilisateur désactive l'option "Badge de l'icône d'application" dans System Settings > Notifications > [Your PWA] ou refuse complètement l'autorisation de notification, les appels à navigator.setAppBadge() continueront de fonctionner en JavaScript (sans générer d'erreur), mais le badge ne s'affichera pas dans le Dock. Si votre application repose sur les badges, assurez-vous de demander l'autorisation de notification pour que le badge puisse s'afficher.

Impact sur l'administration d'entreprise

Pour les administrateurs d'entreprise qui gèrent des appareils macOS et souhaitent préaccorder les autorisations de notification :

  1. Règle Chrome : vous devez toujours configurer la règle Chrome (NotificationsAllowedForUrls) pour accorder l'autorisation à l'origine de la PWA.
  2. Règle macOS : vous devez également déployer un profil de configuration macOS (MDM) pour préaccorder les autorisations de notification à l'identifiant du bundle de la PWA (App Shim).

Si les deux règles ne sont pas en place, les utilisateurs seront toujours invités à accepter les conditions au niveau de l'OS.

Bonnes pratiques pour les développeurs

  1. Vérifiez l'état de l'autorisation : vérifiez toujours Notification.permission avant d'envoyer une notification.
  2. Invites contextuelles : si vous détectez qu'une autorisation a été accordée au niveau du Web, mais que les notifications ne s'affichent pas (ce qui peut se produire si l'autorisation au niveau de l'OS est révoquée), guidez l'utilisateur vers les réglages système de macOS.
  3. Préparez-vous aux notifications temporaires : ne vous fiez pas à requireInteraction pour les flux utilisateur critiques sur macOS.