Вот ответ на ваши вопросы!
- Как долго дается разрешенное разрешение для веб-сайта?
Всегда проверяйте разрешение на использование API уведомлений. Важно продолжать проверять, что разрешение было предоставлено, потому что статус может измениться. Пользователь может вручную отключить разрешение, следовательно, проверяя каждый раз, чтобы избежать взлома кода
- Меняется ли объект подписки, содержащий конечную точку веб-нажатия и клавишу?
- Если оно изменится, как я узнаю, что оно изменилось?
Вашему серверу необходимо сгенерировать пару ключей сервера приложений - они также известны как ключи VAPID, которые являются уникальными для вашего сервера. Это пара открытого и закрытого ключей. Закрытый ключ хранится в секрете на вашем конце, а открытый ключ обменивается с клиентом. Эти клавиши позволяют службе push-уведомлений знать, какой сервер приложений подписал пользователя, и гарантировать, что это тот же сервер, который запускает push-сообщения для этого конкретного пользователя.
Вам необходимо создать пару секретный / открытый ключ только один раз для своего приложения. Один из способов сделать это - https://web -push-codelab.glitch.me /
конечная точка и открытый ключ останутся прежними, поэтому их не нужно менять.
- Должен ли объект подписки быть восстановлен в любое время?
Когда вы хотите отправить 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
Надеюсь, это поможет!