Umstellung auf natives Benachrichtigungssystem unter macOS

Paul Lewis
McGruer
Stephen McGruer

Ab Chrome 59 werden Benachrichtigungen, die über die Notifications API oder chrome.notifications Extensions API gesendet werden, direkt vom nativen macOS-Benachrichtigungssystem anstatt vom eigenen System von Chrome angezeigt.

Durch diese Änderung fühlt sich Chrome unter macOS viel besser in die Plattform integriert. Außerdem werden einige seit Langem bestehende Fehler behoben, z. B. respektiert Chrome die Systemeinstellung „Bitte nicht stören“ nicht.

Im Folgenden sehen wir uns die Unterschiede an, die diese Änderung im Vergleich zu den vorhandenen APIs mit sich bringt.

Benachrichtigungscenter

Einer der Vorteile dieser Änderung besteht darin, dass Benachrichtigungen im Benachrichtigungscenter von macOS angezeigt werden.

Google Chrome-Benachrichtigungen werden im macOS-Benachrichtigungscenter angezeigt
Google Chrome-Benachrichtigungen werden im macOS-Benachrichtigungscenter angezeigt

Unterschiede

Symbolgröße und -positionierung

Die Darstellung der Symbole ändert sich. Sie sind kleiner und ein Innenrand wird angewendet. Sie können statt einer Volltonfarbe ein transparentes Hintergrundsymbol verwenden, um ästhetisch ansprechend zu sein.

Benachrichtigungssymbole vor und nach der Ausführung von Chrome auf Mac-Benachrichtigungen, die von Chrome im Vergleich zu macOS angezeigt werden.
Vorher und Nachher für Chrome auf Mac-Benachrichtigungssymbole, die von Chrome im Vergleich zu macOS angezeigt werden

Aktionssymbole

Vor dieser Änderung wurden Aktionsschaltflächen und Symbole in der Benachrichtigung angezeigt. Bei nativen Benachrichtigungen werden die Aktionsschaltflächensymbole nicht verwendet und der Nutzer muss den Mauszeiger auf die Benachrichtigung bewegen und die Schaltfläche „Mehr“ auswählen, um die verfügbaren Aktionen zu sehen.

Schaltflächen für Benachrichtigungsaktionen mit Symbolen, die von Chrome im Vergleich zu macOS angezeigt werden.
Vor und nach den Aktionsschaltflächen für Benachrichtigungen mit Symbolen, die von Chrome oder macOS angezeigt werden

Das Chrome-Logo wird immer angezeigt und kann nicht ersetzt oder geändert werden. Das ist eine Voraussetzung für Drittanbieteranwendungen unter macOS.

Bilder

Die Option image wird unter macOS nicht mehr unterstützt. Wenn Sie ein Bildattribut definieren, wird die Benachrichtigung zwar weiterhin angezeigt, aber der Bildparameter wird ignoriert (siehe Beispiel unten).

Bild vor und nach dem Benachrichtigungsbild für Chrome unter macOS.
Vor und nach dem Benachrichtigungsbild für Chrome unter macOS

Mit dem folgenden Code können Sie die Featureerkennung für Bilder verwenden:

if ('image' in Notification.prototype) {  
  // Image is supported.
} else {  
  // Image is NOT supported.
}

Änderungen an Chrome-Erweiterungen

Für Chrome-Erweiterungen gilt das Konzept von Benachrichtigungsvorlagen, die sich mit dieser Änderung anders verhalten.

In der Vorlage für Bildbenachrichtigungen wird das Bild nicht mehr angezeigt. Die Bilder müssen ergänzend und nicht erforderlich sein, damit sie für Ihre Nutzer hilfreich sind.

Vorher und Nachher für Bildvorlagen in der chrome.notification API
Vorher und nachher für Bildvorlagen in der chrome.notification API

In der Benachrichtigungsvorlage der Liste wird nur das erste Element der Liste angezeigt. Sie können zum grundlegenden Benachrichtigungsstil zurückkehren und den Textkörper verwenden, um die Änderungen zusammenzufassen.

Vorher-Nachher-Vergleich für Listenvorlagen in der chrome.notification API
Vorher und Nachher für Listenvorlagen in der chrome.notification API

Bei Fortschrittsbenachrichtigungen wird anstelle einer Fortschrittsanzeige ein Prozentwert an den Benachrichtigungstitel angehängt, um den Fortschritt anzuzeigen.

Vorher-Nachher-Vergleich für Fortschrittsvorlagen in der chrome.notification API
Vorher und nachher für Fortschrittsvorlagen in der chrome.notification API

Der letzte Unterschied in der Benachrichtigungs-UI besteht darin, dass appIconMarkUrl unter macOS nicht mehr verwendet wird.

Vorher und nachher für appIconMarkUrl in der chrome.notification API.
Vorher und nachher für appIconMarkUrl in der chrome.notification API