相关疑难解决方法(0)

Asp Net Core Web推送通知

主要目标是增加站点发送Web通知的能力,以弹出系统通知,以使用Html5 Push API和服务工作人员提醒用户.不使用SignalR,它只能在打开网站时运行客户端脚本.也应该是,如果网站被关闭,如提及发布通知的能力在这里 -这是可能的.

是关于Push API的好文章并提供了很好的示例 但是它使用NodeJS作为服务器和web-push组件来向通知服务发送请求.

找不到任何.NET示例.我想到了两个解决方法.

首先,是基于关于服务器的Push API文章说明从头开始编写所有内容:

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

其次,是使用AspNetCore.NodeServices(关于它的文章)来执行node.js脚本文件

还有更多解决方案吗?也许存在现成的解决方案?

经过学科研究

3例:

  1. HTTP +旧浏览器+ IE所有版本 - 使用信号R +使用html + js渲染通知
  2. HTTP +现代浏览器(Chrome,Firefox,Safary,Opera?,Edge),支持Notification API. - 使用SignalR并使用js触发本机浏览器通知new Notification('Message')
  3. HTTPS + Chrome(移动版),支持Push API,可以使用服务工作者触发已关闭网站的本机通知.移动版Chrome只能使用service-worker创建通知.

它变得复杂了.怎么了?

可能的解决方案:

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

当前解决方案 补充:2017-11-22

  • 没有脱机客户端通知支持
  • 没有移动支持
  • 对于Chrome v62 +将所有项目移至https - 链接
  • 使用SignalR(0.2.0)将推送发送到在线客户端
  • 使用pnotify v3 +显示本机desctop或html通知.
  • 正在等待pnotify v4.0.0(作者承诺提供Chrome移动支持.问题)
  • 等待带有SignalR 1.0的.NET Core 2.1将整个项目重写到它.

c# web-push push-api asp.net-core asp.net-core-webapi

25
推荐指数
1
解决办法
2万
查看次数

使用Javascript将数据/有效负载发送到Google Chrome推送通知

我正在处理Google Chrome推送通知,我正在尝试将有效负载发送给谷歌Chrome工作者但是,我不知道我是如何收到此有效负载的.

我有一个API来创建和保存我的数据库中的通知,我需要通过https://android.googleapis.com/gcm/sendworker.js 发送和接收值

这是我的worker.js

    self.addEventListener('push', function(event) {
      var title = 'Yay a message.';
      var body = 'We have received a push message.';
      var icon = '/images/icon-192x192.png';
      var tag = 'simple-push-demo-notification-tag';

      event.waitUntil(
        self.registration.showNotification(title, {
          body: body,
          icon: icon,
          tag: tag
        })
      );
    });
Run Code Online (Sandbox Code Playgroud)

这就是我打电话给GCM的方式

curl --header "Authorization: key=AIzaSyDQjYDxeS9MM0LcJm3oR6B7MU7Ad2x2Vqc" --header  "Content-Type: application/json" https://android.googleapis.com/gcm/send -d "{ \"data\":{\"foo\":\"bar\"}, \"registration_ids\":[\"APA91bGqJpCmyCnSHLjY6STaBQEumz3eFY9r-2CHTtbsUMzBttq0crU3nEXzzU9TxNpsYeFmjA27urSaszKtA0WWC3yez1hhneLjbwJqlRdc_Yj1EiqLHluVwHB6V4FNdXdKb_gc_-7rbkYkypI3MtHpEaJbWsj6M5Pgs4nKqQ2R-WNho82mnRU\"]}"
Run Code Online (Sandbox Code Playgroud)

我试着去event.data,但这是未定义的.

有没有人有任何想法或消化?

javascript google-chrome push-notification

22
推荐指数
4
解决办法
2万
查看次数