Опубликовано: 16 июля 2026 г.
Начиная с Chrome 152, уведомления для прогрессивных веб-приложений (PWA), установленных на macOS, будут автоматически привязываться к самому PWA, а не к Google Chrome.
Это значительно улучшает пользовательский опыт, делая веб-приложения более интегрированными в macOS. Однако это также вносит важные изменения в обработку разрешений на уведомления и в поведение некоторых API уведомлений.
Что меняется?
Ранее все уведомления, отправляемые PWA, приписывались Chrome на уровне операционной системы. В Центре уведомлений macOS они отображались в разделе «Google Chrome» и использовали значок Chrome. Чтобы отключить уведомления, пользователям нужно было использовать элементы управления внутри Chrome, а не системные настройки macOS.
При использовании функции атрибуции уведомлений , если сайт установлен как PWA, macOS рассматривает его как отдельное приложение для уведомлений. Это относится как к недавно установленным PWA, так и к PWA, которые пользователь установил ранее.
Преимущества:
- Фирменный стиль : В уведомлениях в Центре уведомлений macOS и на баннерах отображается собственное название и значок PWA.
- Привычные элементы управления : элементы управления уведомлениями для этих приложений теперь отображаются именно там, где пользователи ожидают: в системных настройках macOS (а не в Chrome).
- Детальный контроль : пользователи могут управлять индивидуальными настройками уведомлений PWA-приложений (например, стилем оповещений, поведением на экране блокировки).
- Режимы фокусировки : PWA можно разрешить или отключить по отдельности в профилях фокусировки macOS (режим «Не беспокоить»).


Новый порядок предоставления разрешений
Поскольку macOS теперь рассматривает PWA как отдельное приложение, PWA должно получить разрешение на отображение уведомлений на уровне операционной системы, прежде чем сможет их отображать. Это меняет порядок предоставления разрешений как для новых, так и для существующих пользователей.
Новые пользователи (первый запрос на предоставление прав)
Если пользователь устанавливает PWA, и сайт запрашивает разрешение на отправку уведомлений после установки:
- Chrome пропустит запрос на предоставление разрешений на уровне браузера (выпадающее меню в адресной строке).
- Chrome немедленно вызовет запрос на предоставление системных разрешений macOS для PWA.


Существующие пользователи (путь миграции)
Если пользователь уже предоставил вашему сайту разрешение на отправку уведомлений в Chrome, а затем установил (или уже установил) PWA, ему все равно необходимо предоставить PWA разрешение на уровне операционной системы.
Чтобы этот переход прошёл максимально плавно:
- При первой попытке PWA отправить уведомление macOS отобразит запрос на предоставление системных разрешений.
- Если пользователь даст согласие, уведомления будут продолжать работать без сбоев.
- Если пользователь проигнорирует или отклонит это сообщение, PWA отобразит внутри приложения индикатор (обычно в заголовке приложения или меню), который направит его в системные настройки macOS для ручного включения разрешений.



Влияние на разработчиков: устаревание requireInteraction в macOS
В macOS параметр «Оставаться на экране до тех пор, пока пользователь его не закроет» ( «Постоянное» ) или «Исчезать автоматически» ( «Временное» ) настраивается пользователем для каждого приложения в системных настройках macOS.
Из-за особенностей архитектуры ОС Chrome больше не будет учитывать параметр requireInteraction в API уведомлений на macOS, если включена функция атрибуции.
Что это значит для вашего кода:
Если ваше приложение использует requireInteraction: true для отображения важных уведомлений на экране, на macOS это больше не будет гарантировано. Вместо этого следует:
- При разработке приложения учитывайте, что уведомления могут быть временными ( кратковременными ).
- Рекомендуем пользователям, которым необходимы постоянные уведомления, настроить стиль оповещений PWA как «Постоянные» в
System Settings > Notifications > [Your PWA].

Влияние на разработчиков: API для создания значков приложений требует разрешения на отправку уведомлений.
API App Badging позволяет веб-приложениям устанавливать значок на иконке приложения (например, отображать количество непрочитанных сообщений). В macOS отображение значка на иконке приложения технически связано с настройками уведомлений приложения. Поскольку PWA теперь имеет собственную собственную систему идентификации уведомлений:
- Требуемые разрешения : Для отображения значка уведомлений на значке в Dock PWA должен иметь включенное разрешение на уровне операционной системы. Это соответствует стандартам платформы macOS и тому, как Safari уже обрабатывает API значков для веб-приложений.
- Сбой без уведомления : Если пользователь отключит значок приложения «Уведомления» в
System Settings > Notifications > [Your PWA]или полностью запретит уведомления, вызовыnavigator.setAppBadge()все равно будут успешно выполняться в JavaScript (без возникновения ошибки), но значок не будет отображаться в Dock. Если ваше приложение использует значки, обязательно запросите разрешение на уведомления, чтобы гарантировать их отображение.
Влияние управления предприятием
Для корпоративных администраторов, управляющих устройствами macOS и желающих предварительно предоставить разрешения на отправку уведомлений:
- Политика Chrome : Вам по-прежнему необходимо настроить политику Chrome (
NotificationsAllowedForUrls), чтобы предоставить разрешение источнику PWA. - Политика macOS : Кроме того, теперь необходимо развернуть профиль конфигурации macOS (MDM), чтобы предварительно предоставить разрешения на уведомления идентификатору пакета PWA (App Shim).
Без применения обеих политик пользователям по-прежнему будут предлагаться варианты на уровне операционной системы.
Рекомендации для разработчиков
- Проверка статуса разрешений : Всегда проверяйте
Notification.permissionперед отправкой уведомления. - Контекстные подсказки : Если вы обнаружите, что разрешение предоставлено на уровне веб-интерфейса, но уведомления не отображаются (что может произойти, если разрешение на уровне ОС отозвано), направьте пользователя в системные настройки macOS.
- Будьте готовы к временным уведомлениям : не полагайтесь на
requireInteractionдля критически важных пользовательских сценариев в macOS.