2016-01-04 1 views
3

Я прочитал, что подписка на push может выйти из синхронизации между браузером и службой push.Вопросы о том, как обслуживающий работник нажимают подписки в синхронизации

Я видел два remediations, оба выглядят быть нестандартным:

  1. ServiceWorkerGlobalScope.onpushsubscriptionchange
  2. GCM отправить ответ, mentioned here, spelled out here
    • понятно нестандартным

Я предполагаю, что любое приложение должно обрабатывать обе эти точки, в которых подписка может быть идентифицирована как не синхронизированная (и любая/вся).

Вопросы:

  1. В общем, всегда только две области приложения могут быть осведомлены о подписке вне синхронизации ситуации? (1. служебное мероприятие 2. push-ответ) Кажется разумным, ища подтверждение.
  2. Будет ли событие ServiceWorkerGlobalScope.onpushsubscriptionchange (или его эквивалент) сделать его в authoritative standard?
  3. Вместо стандартного события службы поддержки, почему бы не просто поддерживать ожидаемую конечную точку подписки (в клиентском состоянии) и в любое время, когда вы запрашиваете PushManager для подписки, проверьте, не является ли она вне синхронизации (отличается от ожидается)?

ответ

4

Событие pushsubscriptionchange зарегистрировано как часть Push API specification. Это должно считаться авторитетным, и в нем упоминается onpushsubscriptionchange - exposed как часть ServiceWorkerGlobalScope.

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