服务工作者推送Angular2的通知

我试图拼凑通过服务工作者给用户推送通知的一般工作stream程。

我遵循这个 Google Developers服务人员推送通知教程,并且正在考虑如何在基于小型用户的Web应用程序中实现这种事情。

在我看来,支持推送通知的Web应用程序的一般工作stream程如下所示:

  • 客户端访问应用
  • 服务工作者产生推送通知端点
  • 客户端将端点发送到服务器
  • 服务器将端点与生成端点的当前用户相关联
  • 每当您的应用程序会说通知值得发生时,服务器就会抓取与该用户关联的推送通知端点,并触发该通知端点向任何用户设备发送推送通知(可能在Chrome 50+等)

基本上我只是想确认一下我的这个技术的一般实现思路是否准确,否则如果我缺less一些东西的话会得到反馈。

你是非常棒的,有一些细节是不正确的(但这主要是措辞,可以做个人的品味)。

  • 客户端访问应用
  • 注册您想用于推送消息的服务工作者
  • 使用服务工作者注册来订阅用户推送消息,此时用户代理将configuration端点+附加值来encryption有效载荷(如果用户代理支持的话)。
  • 客户端将端点发送到服务器
  • 服务器存储端点和数据供以后使用(服务器可以将端点与当前用户关联(如果服务器是Web应用程序具有用户帐户的话)。
  • 当服务器希望向用户发送通知时,它抓住适当的端点并调用它们,唤醒服务工作者,然后可以显示通知。

在Chrome 50+中支持有效负载,并且在编写有效负载的时候在Firefox中支持,但是在3个不同版本的Firefox中,有三种不同的encryption版本用于有效负载,所以我要等待负载支持故事在使用/依赖它之前要稍微解决一下。