Mit der chrome.notifications API können Sie Vorlagen verwenden, um Benachrichtigungen zu erstellen und diese anzeigen zu lassen.
Benachrichtigungen an Nutzer in der Taskleiste des Nutzers:

Aussehen
Umfangreiche Benachrichtigungen gibt es in vier Varianten: „Einfach“, „Bild“, „Liste“ und „Fortschritt“. Alle
Benachrichtigungen enthalten einen Titel, eine Nachricht und ein kleines Symbol, das links neben der Benachrichtigung angezeigt wird.
Nachricht und ein contextMessage-Feld, das als drittes Textfeld in hellerer Farbe angezeigt wird.
Eine allgemeine Benachrichtigung:

Listenbenachrichtigungen enthalten eine beliebige Anzahl von Listeneinträgen:

Bildbenachrichtigungen beinhalten eine Bildvorschau:

In den Fortschrittsbenachrichtigungen wird eine Fortschrittsanzeige eingeblendet:

Verhalten
Unter ChromeOS werden Benachrichtigungen in der Taskleiste des Nutzers angezeigt. Sie bleiben dort, bis das Symbol Nutzer schließt sie. In der Taskleiste werden alle neuen Benachrichtigungen aufgeführt. Sobald Nutzende die angezeigt wird, wird der Zähler auf null zurückgesetzt.
Benachrichtigungen kann eine Priorität zwischen -2 und 2 zugewiesen werden. Prioritäten mit weniger als 0 werden in ChromeOS angezeigt und auf anderen Plattformen einen Fehler verursachen. Die Standardpriorität ist 0. Prioritäten über 0 werden für eine längere Dauer angezeigt und es können mehr Benachrichtigungen mit hoher Priorität in der Taskleiste angezeigt.
Die Einstellung priority hat keinen Einfluss auf die Reihenfolge der Benachrichtigungen unter macOS.
Alle Benachrichtigungstypen können nicht nur Informationen anzeigen, sondern auch bis zu zwei Aktionselemente enthalten. Klickt ein Nutzer auf eine Aufgabe, kann die Erweiterung die entsprechende Aktion auslösen. Beispiel: Wenn der Nutzer auf Antworten klickt, wird die E-Mail-App geöffnet und der Nutzer kann die Antwort abschließen:

So entwickeln Sie sie
Rufen Sie zur Verwendung dieser API die Methode notifications.create() auf und übergeben Sie die Benachrichtigungsdetails mithilfe von
options:
await chrome.notifications.create(id, options);
notifications.NotificationOptions muss einen notifications.TemplateType enthalten, der
definiert die verfügbaren Benachrichtigungsdetails und wie diese angezeigt werden.
Grundlegende Benachrichtigung erstellen
Alle Vorlagentypen (basic, image, list und progress) müssen eine Benachrichtigung title und
message sowie ein iconUrl-Objekt, bei dem es sich um einen Link zu einem kleinen Symbol handelt, das links von
in der Benachrichtigung.
Hier ein Beispiel für eine basic-Vorlage:
var opt = {
type: "basic",
title: "Primary Title",
message: "Primary message to display",
iconUrl: "url_to_small_icon"
}
Bild verwenden
Der Vorlagentyp image enthält auch ein imageUrl, also einen Link zu einem Bild, das in der Vorschau angezeigt wird
in der Benachrichtigung. Beachte, dass Nutzern unter macOS keine Bilder angezeigt werden.
var opt = {
type: "image",
title: "Primary Title",
message: "Primary message to display",
iconUrl: "url_to_small_icon",
imageUrl: "url_to_preview_image"
}
Listenbenachrichtigung erstellen
In der Vorlage list wird items in einem Listenformat angezeigt. Beachten Sie, dass Nutzern unter macOS nur das erste Element angezeigt wird.
var opt = {
type: "list",
title: "Primary Title",
message: "Primary message to display",
iconUrl: "url_to_small_icon",
items: [{ title: "Item1", message: "This is item 1."},
{ title: "Item2", message: "This is item 2."},
{ title: "Item3", message: "This is item 3."}]
}```
### Create progress notification {: #progress }
The `progress` template displays a progress bar where current progress ranges from 0 to 100. On macOS the progress bar displays as a percentage value in the notification title instead of in the progress bar.
```js
var opt = {
type: "progress",
title: "Primary Title",
message: "Primary message to display",
iconUrl: "url_to_small_icon",
progress: 42
}
Auf Ereignisse warten und darauf reagieren
Alle Benachrichtigungen können Ereignis-Listener und Event-Handler enthalten, die auf Nutzeraktionen (siehe
chrome.events) Sie können z. B. einen Event-Handler schreiben, der auf einen
notifications.onButtonClicked-Ereignis.
Event-Listener:
chrome.notifications.onButtonClicked.addListener(replyBtnClick);
Event-Handler:
function replyBtnClick {
//Write function to respond to user action.
}
Erwägen Sie die Aufnahme von Event-Listener und Handler innerhalb des Service Workers, sodass Benachrichtigungen selbst wenn die Erweiterung nicht ausgeführt wird.