主要目标是为网站添加能够使用Html5 Push API和服务工作程序发送Web通知以弹出系统通知以警示用户的功能。不使用仅在网站打开时运行客户端脚本的SignalR。同时,应该可以在网站关闭时发送通知,如此处所述-这是可能的。
这里是关于Push API的好文章,并提供了示例,但它使用NodeJS作为服务器,并使用web-push组件向通知服务发送请求。
找不到任何.NET示例。我考虑两种解决方法。
第一种是根据Push API文章中有关服务器的注释从头开始编写所有内容:
还有其他解决方案吗?也许存在针对此问题的现成解决方案? 主题研究后 3种情况:
1. HTTP +旧版浏览器+ IE所有版本-使用SignalR +使用html + js渲染通知 2. 使用新式浏览器-使用Push API和服务工作程序 3. 后备方案-使用WebSockets和SignalR。HTTP + 现代浏览器(Chrome,Firefox,Safari,Opera?,Edge)支持使用 Notification API。- 使用 SignalR 和JS触发原生浏览器通知,使用
HTTPS + Chrome(移动版)支持使用 Push API 触发服务工作者的闭合站点本地通知。移动版 Chrome 只能使用服务工作者创建通知。
找不到任何.NET示例。我考虑两种解决方法。
第一种是根据Push API文章中有关服务器的注释从头开始编写所有内容:
第二种是使用AspNetCore.NodeServices(关于它的文章)执行node.js脚本文件。当您发送不带数据的推送消息时,只需使用HTTP POST请求将其发送到终端点URL即可。但是,当推送消息包含数据时,您需要对其进行加密,这是一个相当复杂的过程。
还有其他解决方案吗?也许存在针对此问题的现成解决方案? 主题研究后 3种情况:
1. HTTP +旧版浏览器+ IE所有版本-使用SignalR +使用html + js渲染通知 2. 使用新式浏览器-使用Push API和服务工作程序 3. 后备方案-使用WebSockets和SignalR。
new Notification('Message')
变得太复杂了。有什么问题?
可能的解决方案:
对于第1和2种情况,找到了这个仓库。认为这是一个很好的前端解决方案,具有良好的回退支持。 对于第3中情况,还不知道该怎么办。
当前解决方案。添加日期:2017-11-22
POST /projects/PROJECT_ID/notifications
)。 - collimarco