主要目标是添加网站功能以发送 Web 通知以弹出系统通知,以使用 Html5 Push API 和服务工作者提醒用户。不使用 SignalR,它只能在站点打开时运行客户端脚本。如果站点关闭,也应该能够发送通知,如此处所述-这是可能的。
这是关于 Push API 的好文章并提供了很好的示例 但它使用 NodeJS 作为服务器和web-push组件来向通知服务发送请求。
找不到任何 .NET 示例。我考虑了两种解决方法。
首先,是根据关于服务器的 Push API 文章注释从头开始编写所有内容:
当您发送没有数据的推送消息时,您只需使用 HTTP POST 请求将其发送到端点 URL。但是,当推送消息包含数据时,需要对其进行加密,这是一个相当复杂的过程。
二、是使用AspNetCore.NodeServices(关于它的文章)来执行node.js脚本文件
还有更多的解决方案吗?也许存在为此准备好的解决方案?
课题研究后
3个案例:
- HTTP + 旧浏览器 + IE 所有版本 - 使用 SignalR + 使用 html+js 渲染通知
- 支持通知 API 的 HTTP + 现代浏览器(Chrome、Firefox、Safary、Opera?、Edge)。- 使用 SignalR 并使用 js 触发本机浏览器通知
new Notification('Message')
- HTTPS + Chrome (Mobile) 支持 Push API 以使用 service-workers 触发关闭站点的本地通知。移动版 Chrome 只能使用 service-worker 创建通知。
变得很复杂。怎么了?
可能的解决方案:
对于 1 和 2 案例,找到了这个存储库。认为这是一个很好的前端解决方案,具有良好的后备支持。对于3例仍然不知道该怎么办。
当前解决方案。添加: 2017-11-22