Interfejs API rozszerzonych powiadomień

Różnica między platformami: w Chrome 59 powiadomienia wyglądają inaczej w systemie Mac OS X. Zamiast powiadomień Chrome użytkownicy widzą natywne powiadomienia z systemu macOS X. Więcej informacji znajdziesz w tym artykule

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ń:

Powiadomienia w obszarze powiadomień użytkownika

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:

Powiadomienie podstawowe

Powiadomienia o listach zawierają dowolną liczbę elementów listy:

Powiadomienie o liście

Powiadomienia dotyczące obrazów obejmują podgląd obrazu:

Powiadomienie o obrazie

W powiadomieniach o postępach widać pasek postępu:

Powiadomienie o postępie

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ź:

Działanie w powiadomieniu

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:

Różnica między platformami: obrazy nie będą wyświetlane użytkownikom Chrome w wersji 59 lub nowszej w systemie Mac OS X.
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:

Różnica między platformami: w Chrome w wersji 59 lub nowszej w systemie Mac OS X użytkownicy widzą tylko pierwszy element 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:

Różnica między platformami: w Chrome w wersji 59 lub nowszej w systemie Mac OS X pasek postępu wyświetla się w tytule powiadomienia jako wartość procentowa, a nie jako pasek postępu.
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.