如何向 Web 应用程序和浏览器发送推送通知?

How to send push notifications to web application and browser?

我有一个数据库,我在其中使用 java.So 插入和发送数据 我想使用 java 向我的 Web 应用程序发送推送通知并在 java 脚本中获取它们。

我也想向我的 browser.Is 发送推送通知 有没有简单的方法可以完成这两件事?我已经尝试了好几天了,但我还没有找到一个我能理解的解释清楚的教程。

提前致谢。

简而言之,没有。不一定有 "easy" 方法来做到这一点。大多数浏览器处理推送通知的方式不同,就向您的 Web 应用程序发送推送通知而言,您应该查看 RESTful 实现,一旦设置完成,无论何时将数据传递到 Web 应用程序,您都将能够捕获它和 send/receive 您想要的任何通知。

我建议研究一下 Firebase,因为它们对推送通知有很好的实现。

听起来您可能想尝试任何现代浏览器都支持的 websockets。

实际上,它在浏览器 (javascript) 和服务器之间打开了一个 TCP 通道。消息可以写入套接字,并由浏览器接收和处理。

一个古老但很好的介绍是:https://www.html5rocks.com/en/tutorials/websockets/basics/

唯一的其他选择是使用 javascript 以不同的时间间隔执行轮询或长轮询。两者都有问题,尤其是在高容量时。 Websockets 更有效地利用网络。

如果您想在用户浏览您的网站时显示通知,那么您可以:

  1. 从您的服务器获取通知:您可以使用WebSockets, SSE or long polling with the Fetch API或AJAX。
  2. 向用户显示通知:您可以使用 HTML 和 CSS 或使用 Notification API.

如果您想显示通知或处理推送事件即使您的网站已关闭(如本机应用程序),那么您必须使用更先进的技术。特别是:

  1. 您需要使用Push API从您的服务器向浏览器发送消息
  2. 使用推送 API 生成的推送事件激活 service worker 中的回调
  3. service worker 处理事件并使用 Notification API
  4. 显示通知

对于网络推送,我推荐Pushpad(我是创始人),这样您就不必从头开始构建。它还有一个 Java library.