Atrybucja powiadomień natywnych w przypadku aplikacji internetowych na macOS

Marijn Kruisselbrink
Marijn Kruisselbrink
Dan Murphy
Dan Murphy

Opublikowano: 16 lipca 2026 r.

Od Chrome 152 progresywne aplikacje internetowe (PWA) zainstalowane w systemie macOS będą miały powiadomienia przypisane natywnie do samej aplikacji PWA, a nie do Google Chrome.

Jest to znaczące ulepszenie wygody użytkowników, dzięki któremu aplikacje internetowe będą bardziej zintegrowane z systemem macOS. Wprowadza to jednak ważne zmiany w sposobie obsługi uprawnień do powiadomień i w działaniu niektórych interfejsów API powiadomień.

Co się zmienia?

Wcześniej wszystkie powiadomienia wysyłane przez PWA były przypisywane do Chrome na poziomie systemu operacyjnego. W Centrum powiadomień macOS pojawiały się one w sekcji „Google Chrome” i używały ikony Chrome. Aby wyłączyć powiadomienia, użytkownicy musieli korzystać z ustawień w Chrome, a nie z ustawień systemu macOS.

Dzięki przypisywaniu powiadomień, gdy witryna jest instalowana jako PWA, system macOS traktuje ją jako oddzielną aplikację do powiadomień. Dotyczy to zarówno nowo zainstalowanych PWA, jak i PWA, które użytkownik zainstalował wcześniej.

Zalety:

  • Tożsamość marki: powiadomienia wyświetlają nazwę i ikonę PWA w Centrum powiadomień i banerach macOS.
  • Znane użytkownikom elementy sterujące: elementy sterujące powiadomieniami w tych aplikacjach pojawiają się teraz dokładnie tam, gdzie użytkownicy się ich spodziewają, czyli w ustawieniach systemu macOS (a nie w Chrome).
  • Szczegółowa kontrola: użytkownicy mogą zarządzać ustawieniami powiadomień poszczególnych aplikacji PWA (np. stylami alertów, zachowaniem na ekranie blokady).
  • Tryby skupienia: PWA można indywidualnie zezwolić na wyświetlanie powiadomień lub wyciszyć w profilach skupienia macOS (Nie przeszkadzać).
Atrybut „Google Chrome” z ikoną Chrome.
Wcześniej: przypisane do "Google Chrome" z ikoną Chrome.
Przypisane do „Nazwa PWA” z niestandardową ikoną PWA.
Teraz: przypisane do "Nazwa PWA" z niestandardową ikoną PWA.

Nowy proces przyznawania uprawnień

Ponieważ system macOS traktuje teraz PWA jako oddzielną aplikację, aplikacja PWA musi uzyskać zgodę na wyświetlanie powiadomień na poziomie systemu operacyjnego , zanim będzie mogła wyświetlać powiadomienia. Zmienia to proces przyznawania uprawnień zarówno dla nowych, jak i dotychczasowych użytkowników.

Nowi użytkownicy (pierwsza prośba o uprawnienia)

Jeśli użytkownik zainstaluje PWA, a witryna poprosi o uprawnienia do powiadomień po instalacji:

  1. Chrome pominie prośbę o uprawnienia na poziomie przeglądarki (menu rozwijane z paska adresu).
  2. Chrome natychmiast wyświetli prośbę o uprawnienia systemowe macOS dla PWA.
Okno dialogowe uprawnień systemowych w systemie macOS: „Nazwa PWA” chce wysyłać powiadomienia. Powiadomienia mogą zawierać alerty, dźwięki i plakietki na ikonach, a także przyciski Nie zezwalaj i Zezwalaj.
Okno uprawnień systemowych macOS dla zainstalowanej aplikacji PWA.
Schemat blokowy przedstawiający proces przyznawania uprawnień w przypadku PWA. Zaczyna się od „PWA Requests Permission” (PWA Requests Permission), co prowadzi do decyzji „Installed?” (Zainstalowano?). Jeśli odpowiedź to „Tak”, pomija prośbę Chrome i wyświetla prośbę systemową macOS. Jeśli wybierzesz „Nie”, wyświetli się prośba przeglądarki Chrome, użytkownik zainstaluje aplikację PWA, a następnie wyświetli się prośba systemu macOS.
Schemat procesu zgody na wyświetlanie powiadomień PWA.

Dotychczasowi użytkownicy (ścieżka migracji)

Jeśli użytkownik przyznał już Twojej witrynie zgodę na wyświetlanie powiadomień w Chrome, a następnie zainstaluje (lub już zainstalował) PWA, musi przyznać PWA uprawnienia na poziomie systemu operacyjnego.

Aby przejście było jak najpłynniejsze:

  1. Gdy PWA po raz pierwszy spróbuje wysłać powiadomienie, system macOS wyświetli prośbę o uprawnienia systemowe.
  2. Jeśli użytkownik zatwierdzi prośbę, powiadomienia będą nadal działać bezproblemowo.
  3. Jeśli użytkownik zignoruje lub zamknie tę prośbę, PWA wyświetli w aplikacji wskaźnik (zwykle na pasku tytułu lub w menu aplikacji), który poprowadzi go do ustawień systemu macOS, aby ręcznie włączyć uprawnienia.
Wyświetlaj prośbę o zainstalowanie PWA, informującą użytkownika, że powiadomienia są wyłączone w ustawieniach systemowych Maca, i zawierającą przycisk umożliwiający przejście do tych ustawień.
Prośba w aplikacji PWA, która prowadzi użytkownika do ustawień systemu macOS.
Ustawienia aplikacji z opcją włączania i wyłączania powiadomień oraz wskaźnik w Ustawieniach systemowych, który umożliwia włączenie powiadomień.
Ustawienia aplikacji w Chrome ze wskaźnikiem otwierania ustawień systemu macOS.
Wyświetl w przeglądarce prośbę o informację, że powiadomienia są wyłączone w ustawieniach systemowych Maca, i dodaj przycisk, który umożliwia przejście do tych ustawień.
Prośba w przeglądarce, która prowadzi użytkownika do ustawień systemu macOS.

Zmiany ważne dla deweloperów: wycofanie requireInteraction w systemie macOS

W systemie macOS to, czy powiadomienie pozostaje na ekranie, dopóki użytkownik go nie zamknie („Trwałe”), czy znika automatycznie („Tymczasowe”), jest ustawieniem kontrolowanym przez użytkownika i dotyczącym poszczególnych aplikacji w ustawieniach systemu macOS.

Ze względu na tę konstrukcję systemu operacyjnego Chrome nie będzie już uwzględniać opcji requireInteraction w interfejsie Notification API w systemie macOS, gdy przypisywanie jest aktywne.

Co to oznacza dla Twojego kodu:

Jeśli Twoja aplikacja polega na requireInteraction: true, aby ważne powiadomienia były wyświetlane na ekranie, w systemie macOS nie będzie to już gwarantowane. Zamiast tego:

  • Zaprojektuj aplikację tak, aby powiadomienia mogły być tymczasowe (Tymczasowe).
  • Zachęć użytkowników, którzy potrzebują trwałych powiadomień, aby skonfigurowali styl alertu z powiadomieniem PWA jako „Trwałe” w System Settings > Notifications > [Your PWA].
Ustawienia systemowe macOS, z wyróżnionym ustawieniem Styl alertu, które pokazuje opcje Tymczasowy i Trwały.
Ustawienia systemu macOS dla PWA pokazujące ustawienie stylu alertu (Tymczasowe lub Trwałe).

Zmiany ważne dla deweloperów: interfejs App Badging API wymaga zgody na wyświetlanie powiadomień

Interfejs App Badging API umożliwia aplikacjom internetowym ustawianie plakietki na ikonie aplikacji (np. wyświetlanie liczby nieprzeczytanych wiadomości). W systemie macOS plakietka na ikonie aplikacji jest technicznie powiązana z ustawieniami powiadomień aplikacji. Ponieważ PWA ma teraz własną natywną tożsamość powiadomień:

  • Wymagane uprawnienia: aby plakietka pojawiła się na ikonie w Docku, PWA musi mieć włączoną zgodę na wyświetlanie powiadomień na poziomie systemu operacyjnego. Jest to zgodne ze standardami platformy macOS i odpowiada sposobowi, w jaki Safari obsługuje interfejs Badging API w przypadku aplikacji internetowych.
  • Ciche niepowodzenie: jeśli użytkownik wyłączy opcję „Plakietka na ikonie aplikacji” w System Settings > Notifications > [Your PWA], lub całkowicie odmówi przyznania uprawnień do powiadomień, wywołania navigator.setAppBadge() nadal będą się powodzić w JavaScript (bez zgłaszania błędu), ale plakietka nie będzie wyświetlana w Docku. Jeśli Twoja aplikacja korzysta z plakietek, poproś o uprawnienia do powiadomień, aby plakietka mogła się wyświetlać.

Zmiany ważne dla administratorów w firmach

W przypadku administratorów w firmach, którzy zarządzają urządzeniami z systemem macOS i chcą wstępnie przyznać uprawnienia do powiadomień:

  1. Zasady Chrome: nadal musisz skonfigurować zasady Chrome (NotificationsAllowedForUrls), aby przyznać uprawnienia do źródła PWA.
  2. Zasady macOS: dodatkowo musisz teraz wdrożyć profil konfiguracji macOS (MDM), aby wstępnie przyznać uprawnienia do powiadomień identyfikatorowi pakietu PWA (App Shim).

Jeśli nie skonfigurujesz obu tych zasad, użytkownicy nadal będą otrzymywać prośby na poziomie systemu operacyjnego.

Sprawdzone metody dla deweloperów

  1. Sprawdź stan uprawnień: przed wysłaniem powiadomienia zawsze sprawdzaj Notification.permission.
  2. Prośby kontekstowe: jeśli wykryjesz, że uprawnienia są przyznane na poziomie internetu , ale powiadomienia się nie wyświetlają (co może się zdarzyć, jeśli uprawnienia na poziomie systemu operacyjnego zostaną cofnięte), poproś użytkownika o sprawdzenie ustawień systemu macOS.
  3. Przygotuj się na tymczasowe powiadomienia: nie polegaj na requireInteraction w przypadku ważnych ścieżek użytkownika w systemie macOS.