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 system powiadomień macOS, a nie przez 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
Ostrzeżenia Google Chrome 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 (Chrome vs. macOS)

Ikony czynności

Wcześniej przyciski i ikony działań były widoczne w powiadomieniu. W przypadku powiadomień natywnych ikony przycisków poleceń nie są używane. Aby zobaczyć dostępne działania, użytkownik musi najechać kursorem na powiadomienie i kliknąć przycisk „Więcej”.

Przyciski poleceń przed i po powiadomieniach z ikonami wyświetlanymi w Chrome i wyświetlane w systemie macOS.
Przed i po przycisków poleceń dotyczących powiadomień z ikonami wyświetlanymi przez Chrome i wyświetlane w systemie 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 rozszerzeń do Chrome

Rozszerzenia Chrome mają koncepcję szablonów powiadomień, które będą się zachowywać 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 API chrome.notification

Szablon powiadomień dotyczących listy wyświetla tylko pierwszy element na liście. Możesz rozważyć powrót do podstawowego stylu powiadomienia i użycie tekstu w treści, 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