API für Rich-Benachrichtigungen

Plattformunterschied: Ab Chrome-Version 59 werden Benachrichtigungen für Mac OS X-Nutzer anders angezeigt. Anstelle der Benachrichtigungen von Chrome sehen Nutzer native Mac OS X-Benachrichtigungen. Weitere Informationen findest du in diesem Artikel.

Mit der Rich Notifications API können Sie mithilfe von Vorlagen Benachrichtigungen erstellen und diese 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. message und ein contextMessage-Feld, das als drittes Textfeld in einer helleren Schriftart angezeigt wird.

Ein einfaches Bild:

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 < In ChromeOS werden 0 angezeigt und auf anderen Plattformen einen Fehler verursachen. Priorität 0 ist die Standardpriorität. Prioritäten > 0 werden angezeigt, wenn die Dauer verlängert wird, und es können mehr Benachrichtigungen mit hoher Priorität in der Taskleiste angezeigt.

Alle Benachrichtigungstypen können nicht nur Informationen anzeigen, sondern auch bis zu zwei Aktionselemente enthalten. Wenn Nutzer auf eine Aufgabe klicken, kann Ihre App mit der entsprechenden Aktion reagieren. 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 über options-Parameter:

chrome.notifications.create(id, options, creationCallback);

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"
}

Bildbenachrichtigung erstellen

Der Vorlagentyp image enthält auch ein imageUrl, also einen Link zu einem Bild, das in der Vorschau angezeigt wird in der Benachrichtigung:

Plattformunterschied: Bilder werden Nutzern von Chrome ab Version 59 unter Mac OS X nicht angezeigt.
var opt = {
  type: "basic",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon",
  imageUrl: "url_to_preview_image"
}

Aufgrund einer strengen Content Security Policy müssen diese URLs in Chrome-Apps auf eine lokale Ressource oder verwenden Sie eine Blob- oder Daten-URL. Verwenden Sie ein Seitenverhältnis von 3:2. andernfalls schwarzer Rahmen um das Bild einzurahmen.

Listenbenachrichtigung erstellen

In der Vorlage list wird items in einem Listenformat angezeigt:

Plattformunterschied: Nutzern ab Chrome-Version 59 und Mac OS X wird nur das erste Listenelement angezeigt.
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."}]
}

Fortschrittsbenachrichtigung erstellen

In der Vorlage progress wird eine Fortschrittsanzeige angezeigt, in der der aktuelle Fortschritt zwischen 0 und 100 liegt:

Plattformunterschied: In der Chrome-Version 59 und höher unter Mac OS X wird die Fortschrittsanzeige nicht als Fortschrittsanzeige, sondern als Prozentsatz im Titel der Benachrichtigung angezeigt.
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 ausführen.

Event-Listener:

chrome.notifications.onButtonClicked.addListener(replyBtnClick);

Event-Handler:

function replyBtnClick {
    //Write function to respond to user action.
}

Sie können Event-Listener und Handler auf der Ereignisseite einbinden, damit Benachrichtigungen selbst wenn die App oder Erweiterung nicht ausgeführt wird.