1

在将通知推送到 Web 浏览器的上下文中,PUSH SERVICE 充当 SERVICE Worker 和 APPLICATION SERVER 之间的接口。

我目前的理解是

  • Google FCM 是适用于 Google Chrome 和 FireFox 浏览器的推送服务
  • APNS(Apple Push Notification Service)是 Safari 浏览器的推送服务

在这里,技术上是否可以用通用的自定义服务工作者替换“推送服务”(即 Google FCM 用于 Google Chrome 和 FireFox 浏览器,APNS 用于 Safari),这可能会解决所有支持服务的流行浏览器工人和推送 API?

换句话说,开发人员是否可以控制浏览器使用哪个推送服务(或)为所有浏览器开发自定义推送服务?

4

1 回答 1

1

您基本正确:推送服务充当服务工作者和应用程序服务器之间的接口,此外,服务工作者(或可能是 Web 应用程序)将订阅信息发送到推送服务之外的应用程序服务器,因此应用程序服务器知道端点以及如何正确加密任何通知内容。

Google 在 Chrome 上使用 GCM/FCM,Mozilla 在桌面版 Firefox 中使用自己的推送服务,而在 Android 上使用 GCM/FCM 和/或自己的服务;请参阅“Firefox 使用哪些信息来提供 Web 推送?” 部分在这里

在撰写本文时,ChromeFirefoxEdge支持 Push API,因此无需单独处理(WebKit不支持)。

简短的回答:开发人员没有选择客户端使用哪个推送服务,但推送 API 的采用标准化了服务工作者和跨主要浏览器(不包括 WebKit)的 Web 推送。

于 2018-08-22T21:11:44.430 回答