Przechodzenie na natywny system powiadomień w macOS

Stephen McGruer
Stephen McGruer

Od wersji 59 Chrome powiadomienia wysyłane za pomocą interfejsu Notifications API lub chrome.notifications API rozszerzeń będą wyświetlane bezpośrednio przez natywny system powiadomień macOS, a nie przez własny system Chrome.

Ta zmiana sprawia, że Chrome na macOS jest lepiej zintegrowany z platformą i naprawia wiele od dawna występujących błędów, takich jak nieprzestrzeganie przez Chrome ustawień systemu Nie przeszkadzać.

Poniżej omówimy różnice, jakie ta zmiana wprowadza w dotychczasowych interfejsach API.

Centrum powiadomień

Jedną z zalet tej zmiany jest to, że powiadomienia będą wyświetlane w centrum powiadomień macOS.

Powiadomienia z Google Chrome będą wyświetlane w centrum powiadomień macOS
W Google Chrome powiadomienia będą wyświetlane w centrum powiadomień macOS

Różnice

Rozmiar i położenie ikony

Zmieni się wygląd ikon. Będą one mniejsze, a ich wypełnienie będzie stosowane. Aby uzyskać lepszy efekt wizualny, możesz użyć ikony z przezroczystym tłem zamiast ikony w jednolitym kolorze.

Ikony powiadomień wyświetlane przez Chrome na Macu przed i po zmianie (Chrome vs. macOS).
Przed i po: ikony powiadomień wyświetlane przez Chrome na Macu w Chrome i w systemie macOS

Ikony czynności

Przed tą zmianą w powiadomieniu wyświetlały się przyciski i ikony akcji. W przypadku powiadomień natywnych ikony przycisków akcji nie będą używane. Aby wyświetlić dostępne działania, użytkownik będzie musiał najechać kursorem na powiadomienie i wybrać przycisk „Więcej”.

Przyciski akcji w powiadomieniu z ikonami wyświetlane przez Chrome (po lewej) i system macOS (po prawej).
Przed i po zmianie przycisków akcji powiadomienia z ikonami wyświetlanymi przez Chrome w porównaniu z ikonami wyświetlanymi przez macOS

Logo Chrome będzie zawsze wyświetlane i nie można go zastąpić ani zmienić. Jest to wymagane w przypadku aplikacji innych firm na komputerach Mac.

Obrazy

Opcja image nie będzie już obsługiwana w systemie macOS. Jeśli zdefiniujesz właściwość image, powiadomienie nadal będzie się wyświetlać, ale zignoruje parametr image (patrz przykład poniżej).

Obraz powiadomienia w Chrome na komputerze Mac – przed i po
Porównanie obrazka powiadomienia w Chrome na macOS

Obsługę wykrywania obrazów możesz włączyć za pomocą tego kodu:

if ('image' in Notification.prototype) {  
  // Image is supported.
} else {  
  // Image is NOT supported.
}

Zmiany w rozszerzeniach do Chrome

Rozszerzenia Chrome mają koncepcję szablonów powiadomień, które będą działać inaczej po wprowadzeniu tej zmiany.

Szablon powiadomienia o obrazie nie będzie już zawierał obrazu. Upewnij się, że obrazy są dodatkowymi elementami, a nie wymagane, aby być przydatne dla użytkowników.

Przykłady „przed i po” dla szablonów obrazów w interfejsie chrome.notification API.
Przed i po w przypadku szablonów obrazów w interfejsie chrome.notification API

Szablon powiadomienia o liście będzie zawierać tylko pierwszy element na liście. Rozważ powrót do podstawowego stylu powiadomienia i użycie tekstu w treści powiadomienia, aby podsumować zmiany.

Przed i po: szablony list w interfejsie API chrome.notification.
Przed i po w przypadku szablonów list w interfejsie chrome.notification API

Powiadomienia o postępach będą zawierać wartość procentową w tytule powiadomienia, aby wskazywać postępy zamiast paska postępu.

Przed i po w przypadku szablonów postępu w interfejsie chrome.notification API.
Porównanie stanu przed i po zastosowania szablonów postępu w interfejsie API chrome.notification

Ostatnia różnica w interfejsie powiadomień polega na tym, że w systemie macOS nie będzie już używany element appIconMarkUrl.

Przed i po: appIconMarkUrl w interfejsie chrome.notification API.
Przed i po w przypadku appIconMarkUrl w interfejsie API chrome.notification