Я читал, что push-подписка может не синхронизироваться между браузером и push-сервисом.
Я видел два исправления, оба выглядят нестандартными:
- ServiceWorkerGlobalScope.onpushsubscriptionchange
- GCM send response, mentioned here, spelled out here
- understandably non-standard
Я предполагаю, что любое приложение должно обрабатывать обе эти точки, в которых подписка может быть идентифицирована как несинхронизированная (и любая/все).
Вопросы:
- В общем, всегда ли есть только две области, в которых приложение может быть уведомлено о ситуации рассинхронизации подписки? (1. событие работника службы 2. ответ службы push) Кажется разумным, требуется подтверждение.
- Будет ли событие ServiceWorkerGlobalScope.onpushsubscriptionchange (или что-то подобное) включено в официальный стандарт а>?
- Вместо стандарта событий сервис-воркера, почему бы просто не оставить ожидаемую конечную точку подписки (в состоянии на стороне клиента) и каждый раз, когда вы запрашиваете подписку у PushManager, проверять, не синхронизирована ли она (отличается от ожидаемой)?