Конечная точка Chrome Push-уведомлений + идентификация пользователя
Я планирую интегрировать Push-уведомления для Chrome (Push API и Notification API).
После успешной подписки сервер Chrome отправляет клиенту специальный токен ("конечная точка"), который можно использовать для идентификации клиента и отправки любых push-сообщений.
Из документа:
Конечная точка должна быть сохранена на вашем сервере для каждого пользователя, так как они понадобятся вам для отправки push-сообщений позднее.
У меня есть несколько вопросов:
- Как вы управляете "конечной точкой" на стороне вашего сервера? Вы бы отправили эту "конечную точку" после успешной подписки на ваш сервер AJAX и сохранили в БД. Или вы сохраняете их в куки и после этого сохраняете их на сервере после входа в систему / регистрации.
- Интересно, как вы связываете "конечную точку" с реальным пользователем? Пользователь может открыть ваш сайт, нажать "Разрешить", чтобы показать push-уведомление, но у него нет cookie-файла сеанса, поэтому вы не можете идентифицировать эту "конечную точку" с реальным пользователем в это время.
- У этой "конечной точки" есть какой-нибудь TTL?
1 ответ
- Да, вы можете отправить его на сервер, а сервер может сохранить его в БД. Смотрите, например, [ 1].
- Это зависит от вашего приложения. Иногда вам не нужно связывать конечную точку с пользователем. Если вы это сделаете, то просто конечная точка может быть собственностью вашего
user
объект на сервере. Если пользователь регистрируется для получения push-уведомлений перед входом в систему, вы не можете сказать, что эта конечная точка связана с этим пользователем. Когда пользователь входит в систему, вы можете отправить обновленную информацию на сервер. - Да, конечная точка может истечь (см. [ 2]). Событие 'subscriptionchange' будет вызвано, когда это произойдет, работники службы могут прослушать это событие и отправить обновленную информацию на сервер (опять же, вы можете увидеть [ 1] в качестве примера или [ 3]).