Notification API и Web Push: отправка сообщений, когда страница закрыта

API уведомлений — http://caniuse.com/#feat=notifications Push API — http://caniuse.com/#feat=push-api

Последний был выпущен недавно, а первый доступен уже несколько лет. В чем ПРАКТИЧЕСКАЯ разница между ними? На первый взгляд они выглядят одинаково, в браузере всплывает сообщение «Разрешить уведомления», на которое вы нажимаете «разрешить» или «заблокировать». Затем вы можете отправлять сообщения независимо от того, находится ли фокус на странице или нет.

Однако я не смог выяснить, можете ли вы отправлять уведомления, когда вкладка страницы ЗАКРЫТА. Так обстоит дело с Push API, но так ли обстоит дело с Notifications API?


person anemaria20    schedule 05.08.2016    source источник


Ответы (1)


Push API действительно позволяет «разбудить» закрытый браузер.

В частности, вы можете использовать Push API в сочетании с Notification API, чтобы при получении push-сообщения оно уведомляло пользователя, а когда это уведомление активировалось, оно открывало браузер на нужной веб-странице в правильном состоянии.

person dontcallmedom    schedule 05.08.2016
comment
Спасибо! Это на мобильном, да? Насколько мне известно, на рабочем столе вы не можете отправлять Web Push, если браузер закрыт (источник: canIuse). Мой главный вопрос был: можете ли вы отправлять уведомления, когда вкладка сайта закрыта, используя Notification API? - person anemaria20; 05.08.2016
comment
(при условии контекста рабочего стола): если вкладка закрыта, API-интерфейса уведомлений недостаточно, вам нужен API-интерфейс Push для отправки уведомления. API уведомлений можно использовать только из работающей вкладки или из Service Worker; чтобы запустить Service Worker на основе события на стороне сервера, вы можете использовать Push API. - person dontcallmedom; 05.08.2016
comment
Благодарю вас! Это решило мой вопрос. У вас есть какая-нибудь статья о сочетании Push + Notification API? Из вашего ответа я не понял: какое значение здесь имеет API уведомлений? Для уведомления пользователя и его активации можно использовать только Push API. Таким образом, Notification API должен предоставлять что-то, чего нет в Push API, что позволяет браузеру находиться в «правильном состоянии» на нужной веб-странице. - person anemaria20; 06.08.2016