Met de uitgebreide notificatie-API kunt u notificaties maken met behulp van sjablonen en deze notificaties aan gebruikers tonen in hun systeemvak:

Hoe ze eruitzien
Uitgebreide meldingen zijn er in vier verschillende varianten: basis, afbeelding, lijst en voortgang. Alle meldingen bevatten een titel, een bericht, een klein pictogram links van het bericht en een contextMessage-veld, dat als een derde tekstveld in een lichter lettertype wordt weergegeven.
Een eenvoudige afbeelding:

Lijstmeldingen tonen een willekeurig aantal lijstitems:

Afbeeldingsmeldingen bevatten een voorbeeldweergave van de afbeelding:

Voortgangsmeldingen tonen een voortgangsbalk:

Hoe ze zich gedragen
Op ChromeOS verschijnen meldingen in het systeemvak van de gebruiker en blijven daar staan totdat de gebruiker ze sluit. Het systeemvak houdt een teller bij van alle nieuwe meldingen. Zodra een gebruiker de meldingen in het systeemvak heeft gezien, wordt de teller gereset naar nul.
Aan meldingen kan een prioriteit tussen -2 en 2 worden toegekend. Prioriteiten < 0 worden weergegeven in het ChromeOS-meldingencentrum en veroorzaken een foutmelding op andere platforms. Prioriteit 0 is de standaardprioriteit. Prioriteiten > 0 worden steeds langer weergegeven en meldingen met een hogere prioriteit kunnen in het systeemvak worden getoond.
Naast het weergeven van informatie kunnen alle notificatietypen maximaal twee actie-items bevatten. Wanneer gebruikers op een actie-item klikken, kan uw app reageren met de bijbehorende actie. Als de gebruiker bijvoorbeeld op 'Beantwoorden' klikt, wordt de e-mailapp geopend en kan de gebruiker het antwoord voltooien.

Hoe ontwikkel je ze?
Om deze API te gebruiken, roept u de methode notifications.create aan en geeft u de notificatiegegevens door via de parameter options :
chrome.notifications.create(id, options, creationCallback);
De parameter notifications.NotificationOptions moet een parameter notifications.TemplateType bevatten, die de beschikbare notificatiegegevens definieert en hoe deze gegevens worden weergegeven.
Maak een eenvoudige melding aan.
Alle sjabloontypen ( basic , image , list en progress ) moeten een title en message bevatten, evenals een iconUrl , een link naar een klein pictogram dat links van het meldingsbericht wordt weergegeven.
Hier is een voorbeeld van een basic :
var opt = { type: "basic", title: "Primary Title", message: "Primary message to display", iconUrl: "url_to_small_icon" }
Maak een melding met afbeelding
Het sjabloontype voor image bevat ook een imageUrl , een link naar een afbeelding die in de melding wordt weergegeven:
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 moeten deze URL's, vanwege een strikt Content Security Policy, verwijzen naar een lokale bron of een blob- of data-URL gebruiken. Gebruik een beeldverhouding van 3:2; anders wordt de afbeelding omlijst door een zwarte rand.
Maak een lijstmelding aan
De list geeft items weer in een lijstformaat:
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."}] }
Voortgangsmelding maken
De progress toont een voortgangsbalk waarbij de huidige voortgang varieert van 0 tot 100:
var opt = {
type: "progress",
title: "Primary Title",
message: "Primary message to display",
iconUrl: "url_to_small_icon",
progress: 42
}
Luisteren naar en reageren op gebeurtenissen
Alle notificaties kunnen gebeurtenislisteners en gebeurtenisafhandelaars bevatten die reageren op gebruikersacties (zie chrome.events ). U kunt bijvoorbeeld een gebeurtenisafhandelaar schrijven om te reageren op een notifications.onButtonClicked -gebeurtenis.
Gebeurtenisluisteraar:
chrome.notifications.onButtonClicked.addListener(replyBtnClick);
Gebeurtenisafhandelaar:
function replyBtnClick {
//Write function to respond to user action.
}
Overweeg om gebeurtenislisteners en -handlers op te nemen in de gebeurtenispagina , zodat meldingen kunnen verschijnen, zelfs wanneer de app of extensie niet actief is.