Interfejs API powiadomień multimedialnych umożliwia tworzenie powiadomień przy użyciu szablonów i wyświetlanie ich. powiadomienia wysyłane do użytkowników w obszarze powiadomień:
Jak wyglądają
Rozszerzone powiadomienia są dostępne w 4 wariantach: podstawowych, graficznych, list i postępach. Wszystkie powiadomienia obejmują tytuł, wiadomość oraz małą ikonę wyświetlaną po lewej stronie powiadomienia; „message” i „contextMessage”, które jest wyświetlane jako trzecie pole tekstowe, używając jaśniejszej czcionki.
Obraz podstawowy:
Powiadomienia o listach zawierają dowolną liczbę elementów listy:
Powiadomienia dotyczące obrazów obejmują podgląd obrazu:
W powiadomieniach o postępach widać pasek postępu:
jak się zachowują.
W ChromeOS powiadomienia są wyświetlane w obszarze powiadomień użytkownika i pozostają w tym obszarze do momentu, odrzuca reklamy. W tym obszarze znajdują się wszystkie nowe powiadomienia. Gdy użytkownik wyświetli w obszarze powiadomień, licznik zostanie zresetowany.
Powiadomieniam można przypisać priorytet z zakresu od -2 do 2. Priorytety < W ChromeOS wyświetlane są 0. i powodować błąd na innych platformach. Domyślnym priorytetem jest 0. Priorytety > Wyświetlane są 0 w przypadku wydłużenia czasu trwania, a więcej powiadomień o wysokim priorytecie może w obszarze powiadomień.
Wszystkie typy powiadomień oprócz wyświetlania informacji mogą zawierać maksymalnie dwa działania. Gdy użytkownik kliknie działanie, aplikacja może zareagować odpowiednim działaniem. Przykład: gdy użytkownik kliknie „Odpowiedz”, otworzy się aplikacja do poczty e-mail, w której użytkownik będzie mógł dokończyć odpowiedź:
Jak je tworzyć
Aby użyć tego interfejsu API, wywołaj metodę notifications.create, przekazując szczegóły powiadomienia przez
parametr options
:
chrome.notifications.create(id, options, creationCallback);
notifications.NotificationOptions musi zawierać parametr notifications.TemplateType, określa dostępne szczegóły powiadomień oraz sposób ich wyświetlania.
Utwórz powiadomienie podstawowe
Wszystkie typy szablonów (basic
, image
, list
i progress
) muszą zawierać powiadomienie title
i
message
oraz iconUrl
, czyli link do małej ikony wyświetlanej po lewej stronie
wiadomość z powiadomieniem.
Oto przykład szablonu basic
:
var opt = { type: "basic", title: "Primary Title", message: "Primary message to display", iconUrl: "url_to_small_icon" }
Powiadomienie o tworzeniu obrazu
Szablon typu image
zawiera też element imageUrl
, który jest linkiem do obrazu widocznego na podglądzie.
w powiadomieniu:
var opt = {
type: "basic",
title: "Primary Title",
message: "Primary message to display",
iconUrl: "url_to_small_icon",
imageUrl: "url_to_preview_image"
}
W aplikacjach Chrome ze względu na rygorystyczną politykę Content Security Policy adresy URL muszą wskazywać na lub użyj obiektu blob lub adresu URL danych. Użyj formatu 3:2. w przeciwnym razie czarne obramowanie obrysowuje obraz.
Powiadomienie o tworzeniu listy
Szablon list
wyświetla items
w formacie listy:
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."}] }
Powiadomienie o postępie
Szablon progress
wyświetla pasek postępu z bieżącym zakresem od 0 do 100:
var opt = {
type: "progress",
title: "Primary Title",
message: "Primary message to display",
iconUrl: "url_to_small_icon",
progress: 42
}
Nasłuchiwanie zdarzeń i odpowiadanie na nie
Wszystkie powiadomienia mogą zawierać detektory zdarzeń i moduły obsługi zdarzeń, które reagują na działania użytkowników (zobacz chrome.events). Możesz na przykład napisać moduł obsługi zdarzeń, który odpowie na notifications.onButtonClicked.
Detektor zdarzeń:
chrome.notifications.onButtonClicked.addListener(replyBtnClick);
Moduł obsługi zdarzeń:
function replyBtnClick {
//Write function to respond to user action.
}
Rozważ umieszczenie na stronie zdarzeń detektorów i modułów obsługi zdarzeń, aby powiadomienia mogą pojawiać się nawet wtedy, gdy aplikacja lub rozszerzenie nie jest uruchomione.