Страницы

Поиск по вопросам

понедельник, 15 октября 2018 г.

Service Worker - как создать произвести подключение по WebSocket

Вопрос такой - есть туториалы по создаю ServiceWorker, но под мою задачу мне необходимо - создать Worker, который даже когда закрыта вкладка самого приложения, держал соединение с backend'ом и при необходимости принимал сообщения и показывал уведомления с помощью Notification API. Соединение подразумеваю делать через WebSocket. Можете объяснить как все это реализовать или скинуть туториалы или готовые материалы?


Ответ

ServiceWorker не способен на работу в бекграунд - режиме, НО то, что вы хотите можно осуществить. Дело в том, что существует так называемый Push API
Push API позволяет Service Worker'ам получать уведомления даже тогда, когда пользователь не находится на сайте. Работает это так: сервер отсылает Service Worker'ам сообщение через Push API. На клиенте запускается Service Worker и обрабатывает событие onpush, через который сервер и передаёт нужное уведомление. Затем, Service Worker показывает уведомление через Notification API ...ииии... профит!
Я рекомендую ознакомиться с этой статьёй. В ней показано использование Push API. Переведена она не полностью, но что имеем, то имеем...

Комментариев нет:

Отправить комментарий