Webpush的工作流程是什么?

时间:2018-10-18 19:41:35

标签: push-notification

我正在尝试了解webpush的工作原理。现在,我将看到以下步骤:

  1. 用户访问了站点。
  2. 执行一些JS代码以获取将通知从网站发送给用户的权限。
  3. 用户按下“允许”。

但是,我不明白下一步是什么。特别是,当我们在网站上收到新消息时,将如何通知用户?用户端上的某些应用程序是否间隔一定时间向我们的网站发出请求,以检查是否有新消息?或如何?据我了解,由于防火墙和NAT,我们的网站无法向用户发送消息。请解释。

1 个答案:

答案 0 :(得分:1)

有关详细说明,您最好阅读Google的文档。

https://developers.google.com/web/fundamentals/push-notifications/how-push-works

这里是简短描述。

玩家

  • 推送服务器:外部服务(例如由Google提供),可将推送通知传递到用户的浏览器。
  • App Server :您服务的服务器应用程序,将推送通知发送到推送服务器
  • 服务工作者:您提供的javascript代码,即使用户关闭了网站本身,也要等待推送通知并处理收到的通知。

步骤

  1. 用户访问您的网站
  2. 您将服务人员注册到浏览器。
  3. 您向用户请求推送通知的权限(希望有用户许可)
  4. 您将获得一个端点来发送PN,并交换信息以进行加密和授权。
  5. 您将上面的信息发送到您的应用服务器。
  6. 您的应用服务器将PN发送到推送服务器(您在4点收到的端点)
  7. 推送服务器将PN传送到用户的浏览器。您不需要知道它们的传送方式,例如iOS或Android的本地PN。
  8. 浏览器踢您的服务人员。
  9. 您的服务人员处理PN并显示通知