Notifications API verwenden

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:

Benachrichtigungen in der Taskleiste

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:

Einfache Benachrichtigung

Listenbenachrichtigungen enthalten eine beliebige Anzahl von Listeneinträgen:

Listenbenachrichtigung

Bildbenachrichtigungen beinhalten eine Bildvorschau:

Bildbenachrichtigung

In den Fortschrittsbenachrichtigungen wird eine Fortschrittsanzeige eingeblendet:

Fortschrittsbenachrichtigung

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:

Aktion in Benachrichtigung

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.