Custom Push Service
В контексте отправки уведомлений в веб-браузеры, PUSH SERVICE действует как интерфейс между SERVICE WORKER и APPLICATION SERVER.
Мое текущее понимание таково, что
- Google FCM - это сервис Push для браузеров Google Chrome и FireFox
- APNS (служба push-уведомлений Apple) - это служба push-уведомлений для браузера Safari.
Здесь технически возможно заменить "push service (s)" (т. Е. Google FCM для браузеров Google Chrome и FireFox и APNS для Safari) обычным работником настраиваемой службы, который потенциально может обращаться ко всем популярным браузерам, поддерживающим Сервис Worker и Push API?
Другими словами, имеют ли разработчики контроль над тем, какая служба push-уведомлений будет использоваться для браузера (или) разработают настраиваемую службу push-уведомлений для всех браузеров?
1 ответ
Вы в основном правы: служба Push действует как интерфейс между работником службы и сервером приложений, за исключением того, что работник службы (или, возможно, веб-приложение) отправляет информацию о подписке на сервер приложений вне службы Push, поэтому приложение Сервер знает конечную точку и как правильно зашифровать любой контент уведомления.
Google использует GCM/FCM для Chrome, а Mozilla использует свою собственную Push-службу в Firefox для настольных компьютеров, используя GCM/FCM и / или собственный сервис для Android; см. "Какую информацию Firefox использует для предоставления Web Push?" раздел здесь.
На момент написания этой статьи Chrome, Firefox и Edge поддерживают Push API, поэтому нет необходимости обрабатывать их отдельно ( WebKit не поддерживает их).
Краткий ответ: разработчики не имеют выбора, в котором Push Service использует клиент, но принятие Push API стандартизирует работника сервиса и веб-push в основных браузерах (за исключением WebKit).