webpush уведомления с сервисными работниками - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть несколько вопросов, касающихся уведомлений о webpush и работников службы

Как долго дается разрешенное разрешение для веб-сайта?

Изменяется ли объект подписки, который содержит конечную точку webpush и ключ?

Если это изменится, как я узнаю, что оно изменилось?

Должен ли объект подписки быть восстановлен в любое время?

Большое спасибо

1 Ответ

0 голосов
/ 22 ноября 2018

Вот ответ на ваши вопросы!

  1. Как долго дается разрешенное разрешение для веб-сайта?

Всегда проверяйте разрешение на использование API уведомлений. Важно продолжать проверять, что разрешение было предоставлено, потому что статус может измениться. Пользователь может вручную отключить разрешение, следовательно, проверяя каждый раз, чтобы избежать взлома кода

  1. Меняется ли объект подписки, содержащий конечную точку веб-нажатия и клавишу?
  2. Если оно изменится, как я узнаю, что оно изменилось?

Вашему серверу необходимо сгенерировать пару ключей сервера приложений - они также известны как ключи VAPID, которые являются уникальными для вашего сервера. Это пара открытого и закрытого ключей. Закрытый ключ хранится в секрете на вашем конце, а открытый ключ обменивается с клиентом. Эти клавиши позволяют службе push-уведомлений знать, какой сервер приложений подписал пользователя, и гарантировать, что это тот же сервер, который запускает push-сообщения для этого конкретного пользователя.

Вам необходимо создать пару секретный / открытый ключ только один раз для своего приложения. Один из способов сделать это - https://web -push-codelab.glitch.me /

конечная точка и открытый ключ останутся прежними, поэтому их не нужно менять.

  1. Должен ли объект подписки быть восстановлен в любое время?

Когда вы хотите отправить push-сообщение своим пользователям, первое, что вам нужно, это push-сервис. Вы сообщаете сервису push-уведомлений (через вызов API), какие данные отправлять, кому отправлять сообщение и какие критерии о том, как отправить сообщение. Обычно этот вызов API выполняется с вашего сервера.

Ссылки принимаются:

Официальные документы Google для разработчиков: https://developers.google.com/web/ilt/pwa/introduction-to-push-notifications

https://blog.sessionstack.com/how-javascript-works-the-mechanics-of-web-push-notifications-290176c5c55d

Надеюсь, это поможет!

...