Пинг сервисный работник без отображения уведомления - PullRequest
0 голосов
/ 12 июля 2019

Я пытаюсь отслеживать, какие работники сервиса активны (то есть, у каких пользователей открыт браузер).Я предложил решение, которое отправляет простой пинг через API веб-push и которое заставляет работника службы отправлять запрос пинга на мой сервер.Но я обнаружил, что если я не отображаю уведомление пользователю, я получаю предупреждение от Chrome.

This site has been updated in the background 

Я что-то не так делаю или есть другой способ решить эту проблему?

1 Ответ

1 голос
/ 12 июля 2019

Нет, вы не делаете ничего плохого.Это сделано специально.

Невозможно связаться с Service Worker в фоновом режиме, используя API Web Push, и система не сообщает пользователю .Вы описываете пассивную систему отслеживания, где вы отслеживаете пользователя, даже если пользователь не использует продукт, и это было ограничено дизайном ПО.Когда вы используете Web Push, вы должны показывать свое собственное уведомление (API для уведомлений), а если вы этого не делаете, это то, что делает браузер.

Я понимаю, что было бы очень приятно иметь возможность связатьсяПО от сервера, и он выполняет некоторые небольшие поручения, но, к сожалению, это позволило бы также внести некоторые неприятности.Вы также не можете, например.оставьте открытым WebSocket (недоступно на SW) или запланируйте задачи на будущее, чтобы он пинговал (не гарантированно работать).

...