@aljo222
В процессе обучения веб-разработке

Как запросить разрешение на отправку push-уведомлений?

Здравствуйте!
Разрабатывается pwa для локальной сети фитнес-центров. На сайте есть чат с менеджером, заказ услуг и тд.
Соответственно требуется запрос на отправку push-уведомлений.

Старый добрый код NotificationAPI не работает. В Safari появляется информационное окошко, что браузер вообще не поддерживает уведомления, в других окно с запросом разрешения не появляется.

У браузеров сейчас какие-то новые ограничения? Можно ли вообще запросить разрешение на отправку уведомлений? Если да, то тыкните пожалуйста куда копать.
Заранее спасибо!
  • Вопрос задан
  • 347 просмотров
Решения вопроса 1
@risejs
В Chrome, если пользователь пару раз отклонит запрос на уведомления, причем не важно в пределах какого сайта, то браузер автоматически блокирует запросы на уведомления с любого сайта на некоторое время.

И в консоли пишет:
Notifications permission has been blocked as the user has ignored the permission prompt several times. This can be reset in Page Info which can be accessed by clicking the lock icon next to the URL. See https://www.chromestatus.com/feature/6443143280984064 for more information.


https://mdn.github.io/dom-examples/to-do-notifications/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Zagir-vip
@Zagir-vip
Web dev, Game dev, app dev, Разработчик на Python!
Да, браузеры имеют строгие ограничения для отправки push-уведомлений из-за обеспечения конфиденциальности и безопасности пользователей. Особенно это касается безопасности и конфиденциальности на локальных сетях и устройствах.

Можно попробовать запросить разрешение:
if ('Notification' in window) {
  Notification.requestPermission().then(permission => {
    if (permission === 'granted') {
      // Разрешение получено, можно отправлять уведомления
    } else {
      // Разрешение не получено
    }
  });
}


И сайт должен работать через HTTPS.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы