ASP NET核心Web推送通知

编程入门 行业动态 更新时间:2024-10-28 18:26:57
本文介绍了ASP NET核心Web推送通知的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

主要目标是向站点添加发送Web通知的功能,以弹出系统通知,提醒使用HTML5推送API的用户和服务工作者。 不使用只能在站点打开时运行客户端脚本的SignalR。还应能够在站点关闭时发送通知,如here所述-这是可能的。

Here是推流接口的好文章,提供了好的example 但它使用NodeJS作为服务器,使用web-push组件向通知服务发送请求。

找不到任何.NET示例。我想了想这两个变通办法。

首先是根据推流API关于服务器的文章note从头开始写:

当您发送没有数据的推送消息时,只需使用HTTP POST请求将其发送到端点URL即可。但是,当推送消息包含数据时,您需要对其进行加密,这是一个相当复杂的过程。

第二个是使用AspNetCore.NodeServices(article关于它)执行node.js脚本文件

是否有更多解决方案?是否存在此问题的现成解决方案?

课题调研后

3例:

HTTP+旧浏览器+IE所有版本-使用SignalR+Render Notification(使用HTML+js) 支持通知API的HTTP+现代浏览器(Chrome、Firefox、Safary、Opera?、Edge)-使用SignalR并使用new Notification('Message')使用js触发本机浏览器通知 HTTPS+Chrome(移动端),支持推流接口,通过服务工作者触发关闭站点本机通知。移动版的Chrome只能通过使用服务工作者创建通知。

它变得太复杂了。出什么问题了?

可能的解决方案:

对于1和2个案例,找到this存储库。我认为这是一个很好的前端解决方案,有很好的后备支持。 有3例仍然不知道该怎么办。

当前解决方案。新增:2017-11-22

无离线客户端通知支持 无移动支持 对于Chrome v62+将所有项目移动到https-link 使用SignalR(0.2.0)向在线客户端发送推流 使用pnotifyv3+显示本机Downtop或HTML通知。 等待pnotifyv4.0.0(作者承诺提供Chrome移动支持。Issue) 正在等待带有SignalR 1.0的.NET Core 2.1将整个项目重写到其中。

推荐答案

您提到的节点库已经移植到c#:web-push-csharp。

以下是直接取自其网站的简化使用示例:

var pushEndpoint = @"https://fcm.googleapis/fcm/send/efz_TLX_rLU:APA91bE6U0iybLYvv0F3mf6uDLB6....";
var p256dh = @"BKK18ZjtENC4jdhAAg9OfJacySQiDVcXMamy3SKKy7FwJcI5E0DKO9v4V2Pb8NnAPN4EVdmhO............";
var auth = @"fkJatBBEl...............";

var subject = @"mailto:example@example";
var publicKey = @"BDjASz8kkVBQJgWcD05uX3VxIs_gSHyuS023jnBoHBgUbg8zIJvTSQytR8MP4Z3-kzcGNVnM...............";
var privateKey = @"mryM-krWj_6IsIMGsd8wNFXGBxnx...............";

var subscription = new PushSubscription(pushEndpoint, p256dh, auth);
var vapidDetails = new VapidDetails(subject, publicKey, privateKey);

var webPushClient = new WebPushClient();
try
{
    webPushClient.SendNotification(subscription, "payload", vapidDetails);
}
catch (WebPushException exception)
{
    Console.WriteLine("Http STATUS code" + exception.StatusCode);
}

这篇关于ASP NET核心Web推送通知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-03-13 15:07:20,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/616454.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:核心   通知   ASP   NET   Web

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!