À partir de Chrome 59, les notifications envoyées via l'API Notifications ou l'API des extensions chrome.notifications s'afficheront directement par le système de notification natif de macOS au lieu du système de Chrome.
Ce changement permet d'améliorer l'intégration de Chrome sous macOS à la plate-forme et de corriger un certain nombre de bugs existants, tels que le non-respect du paramètre "Ne pas déranger" par Chrome.
Nous examinerons ci-dessous les différences introduites par cette modification par rapport aux API existantes.
Centre de notifications
L'un des avantages de ce changement est que les notifications s'affichent dans le centre de notifications de macOS.
![Les notifications Google Chrome s'afficheront dans le centre de notifications macOS](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/google-chrome-notificatio-0dd272728498d.png?authuser=7&hl=fr)
Différences
Taille et positionnement des icônes
L'apparence des icônes va changer. Leur taille est réduite, et une marge intérieure est appliquée. Pour des raisons esthétiques, vous pouvez utiliser une icône d'arrière-plan transparente plutôt qu'une couleur unie.
!["Avant et après" pour les icônes de notification Chrome sur Mac affichées par Chrome et celles affichées par macOS.](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-chrome-ma-8f7a9faf4b135.png?authuser=7&hl=fr)
Icônes d'action
Avant ce changement, des boutons d'action et des icônes étaient affichés dans la notification. Avec les notifications natives, les icônes des boutons d'action ne sont pas utilisées. L'utilisateur doit pointer sur la notification et sélectionner le bouton "Plus" pour afficher les actions disponibles.
![Boutons d'action avant et après les notifications avec des icônes affichées par Chrome par rapport à celles affichées par macOS](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-notificati-acefa2d32d351.png?authuser=7&hl=fr)
Logo Chrome
Le logo Chrome restera visible en permanence, et ne pourra être ni remplacé, ni modifié. Il s'agit d'une exigence pour les applications tierces sur macOS.
Images
L'option image
ne sera plus prise en charge par macOS. Si vous définissez une propriété d'image, la notification sera toujours affichée, mais elle ignorera le paramètre d'image (voir l'exemple ci-dessous).
![Image de notification avant et après pour Chrome sur macOS.](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-notificati-35cb1f20a7481.png?authuser=7&hl=fr)
Vous pouvez prendre en charge la détection d'images à l'aide du code suivant:
if ('image' in Notification.prototype) {
// Image is supported.
} else {
// Image is NOT supported.
}
Modifications apportées à l'extension Chrome
Les extensions Chrome intègrent le concept de modèles de notification, qui se comporteront différemment avec cette modification.
Le modèle de notification d'image n'affichera plus l'image. Vous devez vous assurer que les images sont complémentaires et qu'elles ne sont pas nécessaires pour être utiles à vos utilisateurs.
![Avant et après pour les modèles d'image dans l'API chrome.notification](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-image-temp-ea8d68fe9acc.png?authuser=7&hl=fr)
Le modèle de notification de liste n'affiche que le premier élément de la liste. Vous pouvez revenir au style de notification de base et utiliser le corps du texte pour résumer l'ensemble des modifications.
![Avant et après pour les modèles de liste dans l'API chrome.notification](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-list-templ-58a8124f4c8f9.png?authuser=7&hl=fr)
Les notifications de progression ajoutent une valeur en pourcentage au titre de la notification pour indiquer la progression au lieu d'une barre de progression.
![Avant et après pour les modèles de progression dans l'API chrome.notification](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-progress-t-aeb9eb61ae795.png?authuser=7&hl=fr)
La dernière différence dans l'interface utilisateur des notifications est que appIconMarkUrl
ne sera plus utilisé sous macOS.
![Avant et après pour appIconMarkUrl dans l'API chrome.notification](https://developer.chrome.com/static/blog/native-mac-os-notifications/image/before-after-appiconmar-74e3f48314cd4.png?authuser=7&hl=fr)