API für Rich-Benachrichtigungen

Plattformunterschied: In Chrome-Version 59 werden Benachrichtigungen für Mac OS X-Nutzer anders angezeigt. Anstelle der eigenen Chrome-Benachrichtigungen sehen Nutzer native Mac OS X-Benachrichtigungen. Weitere Informationen

Mit der Rich Notifications API können Sie Benachrichtigungen mithilfe von Vorlagen erstellen und Nutzern diese Benachrichtigungen in der Taskleiste des Nutzers anzeigen:

Benachrichtigungen in der Taskleiste

Aussehen

Es gibt vier verschiedene Arten von ausführlichen Benachrichtigungen: Standard, Bild, Liste und Fortschritt. Alle Benachrichtigungen enthalten einen Titel, eine Nachricht, ein kleines Symbol links neben der Benachrichtigung und ein contextMessage-Feld, das als drittes Textfeld in einer helleren Farbe angezeigt wird.

Ein einfaches Bild:

Allgemeine Benachrichtigung

In Listenbenachrichtigungen wird eine beliebige Anzahl von Listenelementen angezeigt:

Listenbenachrichtigung

Bildbenachrichtigungen enthalten eine Bildvorschau:

Bildbenachrichtigung

Fortschrittsbenachrichtigungen enthalten eine Fortschrittsanzeige:

Fortschrittsbenachrichtigung

Verhalten

Unter ChromeOS werden Benachrichtigungen in der Taskleiste eines Nutzers angezeigt und verbleiben dort, bis der Nutzer sie schließt. In der Taskleiste wird die Anzahl aller neuen Benachrichtigungen angezeigt. Sobald ein Nutzer die Benachrichtigungen in der Taskleiste sieht, wird die Anzahl auf null zurückgesetzt.

Den Benachrichtigungen kann eine Priorität zwischen -2 und 2 zugewiesen werden. Prioritäten < 0 werden in der ChromeOS-Benachrichtigungszentrale angezeigt und führen auf anderen Plattformen zu einem Fehler. Priorität 0 ist die Standardpriorität. Prioritäten > 0 werden für eine längere Dauer angezeigt. Weitere Benachrichtigungen mit hoher Priorität können in der Taskleiste angezeigt werden.

Alle Benachrichtigungstypen können nicht nur Informationen anzeigen, sondern bis zu zwei Aktionselemente enthalten. Wenn Nutzer auf eine Aufgabe klicken, kann Ihre App mit der entsprechenden Aktion reagieren. Wenn der Nutzer beispielsweise auf „Antworten“ klickt, wird die E-Mail-App geöffnet und der Nutzer kann die Antwort abschließen:

Aktion in Benachrichtigung

So werden sie entwickelt

Rufen Sie zur Verwendung dieser API die Methode notifications.create auf und übergeben Sie die Benachrichtigungsdetails über den Parameter options:

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

notifications.NotificationOptions müssen einen notifications.TemplateType enthalten, der die verfügbaren Benachrichtigungsdetails und die Anzeige dieser Details definiert.

Allgemeine Benachrichtigung erstellen

Alle Vorlagentypen (basic, image, list und progress) müssen eine Benachrichtigung title und message sowie eine iconUrl enthalten. Dabei handelt es sich um einen Link zu einem kleinen Symbol, das links neben der Benachrichtigung angezeigt wird.

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-Element, das einen Link zu einem Bild darstellt, das innerhalb der Benachrichtigung als Vorschau angezeigt wird:

Plattformunterschied: Nutzern, die Chrome-Version 59 oder höher unter Mac OS X verwenden, werden die Bilder nicht angezeigt.
var opt = {
  type: "basic",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon",
  imageUrl: "url_to_preview_image"
}

In Chrome-Apps müssen diese URLs aufgrund einer strengen Content Security Policy auf eine lokale Ressource verweisen oder eine Blob- oder Daten-URL verwenden. Verwenden Sie ein Seitenverhältnis von 3:2. Andernfalls wird es von einem schwarzen Rahmen umrandet.

Benachrichtigung zum Erstellen einer Liste

In der Vorlage list wird items in einem Listenformat angezeigt:

Plattformunterschied: Nutzern ab Chrome-Version 59 unter Mac OS X wird nur der erste Listeneintrag 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

Die Vorlage progress zeigt eine Fortschrittsanzeige an, in der der aktuelle Fortschritt zwischen 0 und 100 liegt:

Plattformunterschiede:In Chrome-Version 59 und höher unter Mac OS X wird die Fortschrittsanzeige nicht als Fortschrittsanzeige, sondern als Prozentwert 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 reagieren (siehe chrome.events). Sie können beispielsweise einen Event-Handler schreiben, der auf ein notifications.onButtonClicked-Ereignis reagiert.

Event-Listener:

chrome.notifications.onButtonClicked.addListener(replyBtnClick);

Ereignis-Handler:

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

Fügen Sie der Ereignisseite Ereignis-Listener und -Handler hinzu, damit Benachrichtigungen auch dann eingeblendet werden können, wenn die App oder Erweiterung nicht ausgeführt wird.