使用 Angular2 的 Service Worker 推送通知
Service Worker Push Notifications with Angular2
我正在尝试拼凑通过 service worker 向用户推送通知的一般工作流程。
我已关注 this Google 开发人员服务工作者推送通知教程,目前正在考虑如何在基于用户的小型 Web 应用程序中实现此类内容以进行实验。
在我看来,支持推送通知的网络应用程序的一般工作流程如下:
- 客户访问应用程序
- Service Worker 生成一个推送通知端点
- 客户端将端点发送到服务器
- 服务器将终结点与为其生成终结点的当前用户相关联
- 每次你的应用程序会说是值得通知的事情发生时,服务器会获取与用户关联的推送通知端点,并点击它向任何用户设备发送推送通知(可能带有数据Chrome 50+ 等)
中的有效载荷
基本上我只是想确认我对这项技术的一般实施想法是准确的,如果我遗漏了什么,请得到反馈。
你说得很不错,有些细节不太对(但这主要是措辞上的,可以根据个人口味来做)。
- 客户访问应用程序
- 注册一个要用于推送消息的 Service Worker
- 使用 service worker 注册订阅用户推送消息,此时用户代理将配置端点 + 用于加密有效负载的附加值(如果用户代理支持)。
- 客户端将终结点发送到服务器
- 服务器存储端点和数据以备后用(如果 Web 应用程序有用户帐户,服务器可以将端点与当前用户相关联)。
- 每当服务器希望向用户发送通知时,它会获取适当的端点并调用它们来唤醒服务工作者,然后服务工作者可以显示通知。
Payload 支持即将到来 Chrome 50+ 并且在撰写本文时 Firefox 支持有效负载,但是在 3 个不同版本的 Firefox 中有 3 种不同版本的加密用于有效负载,所以我在使用它/依赖它之前,会等待负载支持的故事被解决。
我正在尝试拼凑通过 service worker 向用户推送通知的一般工作流程。
我已关注 this Google 开发人员服务工作者推送通知教程,目前正在考虑如何在基于用户的小型 Web 应用程序中实现此类内容以进行实验。
在我看来,支持推送通知的网络应用程序的一般工作流程如下:
- 客户访问应用程序
- Service Worker 生成一个推送通知端点
- 客户端将端点发送到服务器
- 服务器将终结点与为其生成终结点的当前用户相关联
- 每次你的应用程序会说是值得通知的事情发生时,服务器会获取与用户关联的推送通知端点,并点击它向任何用户设备发送推送通知(可能带有数据Chrome 50+ 等) 中的有效载荷
基本上我只是想确认我对这项技术的一般实施想法是准确的,如果我遗漏了什么,请得到反馈。
你说得很不错,有些细节不太对(但这主要是措辞上的,可以根据个人口味来做)。
- 客户访问应用程序
- 注册一个要用于推送消息的 Service Worker
- 使用 service worker 注册订阅用户推送消息,此时用户代理将配置端点 + 用于加密有效负载的附加值(如果用户代理支持)。
- 客户端将终结点发送到服务器
- 服务器存储端点和数据以备后用(如果 Web 应用程序有用户帐户,服务器可以将端点与当前用户相关联)。
- 每当服务器希望向用户发送通知时,它会获取适当的端点并调用它们来唤醒服务工作者,然后服务工作者可以显示通知。
Payload 支持即将到来 Chrome 50+ 并且在撰写本文时 Firefox 支持有效负载,但是在 3 个不同版本的 Firefox 中有 3 种不同版本的加密用于有效负载,所以我在使用它/依赖它之前,会等待负载支持的故事被解决。