标签: web-push

如何将推送通知发送到Web浏览器?

我过去几个小时一直在阅读关于Push Notification APIWeb Notification API的内容.我还发现Google和Apple分别通过GCM和APNS免费提供推送通知服务.

我试图了解我们是否可以使用桌面通知向浏览器实施推送通知,我相信这是Web Notification API所做的.我在这里这里看到了关于如何为Chrome做这件事的谷歌文档.

现在仍然无法理解的是:

  1. 我们可以使用GCM/APNS向包括Firefox和Safari在内的所有Web浏览器发送推送通知吗?
  2. 如果不是通过GCM我们可以拥有自己的后端来做同样的事情吗?

我相信在一个答案中回答的所有问题都可以帮助很多有类似困惑的人.

javascript web-notifications google-cloud-messaging web-push push-api

165
推荐指数
8
解决办法
15万
查看次数

推送移动网络应用的通知工具

我有一个简单的场景,只要从服务器生成,就可以在移动设备上接收通知.

我知道这个工具可以在原生iOS应用程序和Android中使用,但我试图避免本机路径.我想要的是:

  1. 可通过访问URL访问的移动Web应用程序
  2. 用户可以在主屏幕上创建书签,以便感受原生应用程序图标.
  3. 获取通知徽章(没有圆形消息)
  4. 即使浏览器关闭也能收到通知.

我知道有可能存在服务器端事件/ Web套接字,但是Web应用程序可以模拟推送通知功能吗?

谢谢

mobile html5 web-applications websocket web-push

42
推荐指数
2
解决办法
5万
查看次数

Chrome推送通知:此网站已在后台更新

在实施chrome推送通知时,我们从服务器获取最新的更改.在这样做时,服务工作者正在显示带有该消息的额外通知

此网站已在后台更新

已经尝试过这里发布的建议 https://disqus.com/home/discussion/html5rocks/push_notifications_on_the_open_web/
但到现在为止找不到任何有用的东西.有什么建议吗?

google-chrome push-notification web-push push-api

28
推荐指数
4
解决办法
3万
查看次数

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万
查看次数

Push API和Server Sent Events之间有什么区别?

从文档中我可以看出Push APIServer Sent Events 都是半双工但为什么两种不同的技术具有相同的功能?Push API中有更重要的东西吗?

html5 push-notification server-sent-events web-push push-api

21
推荐指数
2
解决办法
6728
查看次数

服务人员注册失败

我目前正致力于服务工作者在浏览器中处理推送通知.目前我有这个"SW注册失败错误".有人可以帮忙解决这个问题吗?检查client1.htmlservice-worker.js归档如下:

错误:

SW注册失败,出现错误SecurityError:无法注册ServiceWorker:不支持当前源的URL协议('null').

服务worker.js

console.log('Started', self);
self.addEventListener('install', function(event) {
  self.skipWaiting();
  console.log('Installed', event);
});
self.addEventListener('activate', function(event) {
console.log('Activated', event);
});
self.addEventListener('push', function(event) {
  console.log('Push message received', event);
}); 
Run Code Online (Sandbox Code Playgroud)

client1.html

  <!doctype html>
  <html>
  <head>
  <title>Client 1</title>
  </head>
  <body>
  <script>
     if('serviceWorker' in navigator){
        // Register service worker
        navigator.serviceWorker.register('service-worker.js').then(function(reg){
            console.log("SW registration succeeded. Scope is "+reg.scope);
        }).catch(function(err){
            console.error("SW registration failed with error "+err);
        });
    }
  </script>
  </body>
  </html>
Run Code Online (Sandbox Code Playgroud)

javascript browser service-worker web-push

18
推荐指数
1
解决办法
3万
查看次数

Push in Vaadin 7 app("@Push")的最小例子

我想看看在Vaadin 7 中使用新Push技术的最小例子,例如新的@Push注释.

我在使用服务器推送在我的应用程序中工作时遇到问题.在尝试修复自己的应用之前,我想尝试一个简单的示例应用.

java vaadin vaadin7 web-push

15
推荐指数
1
解决办法
8790
查看次数

如何在HTML5 Web应用程序中执行推送通知?

我有一个Web应用程序.我想使用HTML 5内置通知API在用户位于特定页面时从服务器执行推送通知.可能吗?

html javascript push-notification web-push push-api

14
推荐指数
1
解决办法
3万
查看次数

单击Web推送通知时打开自定义URL

我正在实现Webpush ruby​​ gem以向我网站的用户发送推送通知.

服务器代码:

  Webpush.payload_send({
      message: notification.message,
      url: notification.url,  # I can't figure out how to access this key
      id: notification.id,    # or this key from the service worker
      endpoint: endpoint,
      p256dh: p256dh_key,
      vapid: vapid_keys,
      ttl: 24 * 60 * 60,
      auth: auth_key,
    })
Run Code Online (Sandbox Code Playgroud)

我在客户端设置了一个服务工作者来显示通知并使其可单击.

self.addEventListener("push", function (event) {
  var title = (event.data && event.data.text()) || "New Message";

  event.waitUntil(
    self.registration.showNotification(title, {
      body: "New push notification",
      icon: "/images/logo@2x.png",
      tag:  "push-notification-tag",
      data: {
        url: event.data.url, // This is returning null …
Run Code Online (Sandbox Code Playgroud)

javascript notifications web-push

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

Web Push API Chrome,返回"未经授权的注册"

我一直在做一个关于如何使用web-push节点模块在Chrome上发送网络推送通知的谷歌教程.

问题是,本教程还提供了一个配套服务器应用程序,您应该使用它来测试从服务器向客户端发送推送通知.

但是,在配套应用程序中,甚至在我的本地计算机上使用web-push cli时,在尝试发送通知时,我收到" 未经授权的注册 "错误.在网上找不到任何关于这个错误的信息 - 我做错了什么/缺少什么?

$ web-push send-notification --endpoint=https://fcm.googleapis.com/fcm/send/<<endpoint-key>>
Error sending push message:
{ [WebPushError: Received unexpected response code]
  name: 'WebPushError',
  message: 'Received unexpected response code',
  statusCode: 400,
  headers:
   { 'content-type': 'text/html; charset=UTF-8',
     date: 'Fri, 25 Nov 2016 08:54:08 GMT',
     expires: 'Fri, 25 Nov 2016 08:54:08 GMT',
     'cache-control': 'private, max-age=0',
     'x-content-type-options': 'nosniff',
     'x-frame-options': 'SAMEORIGIN',
     'x-xss-protection': '1; mode=block',
     server: 'GSE',
     'alt-svc': 'quic=":443"; ma=2592000; v="36,35,34"',
     'accept-ranges': 'none',
     vary: 'Accept-Encoding',
     connection: 'close' },
  body: '<HTML>\n<HEAD>\n<TITLE>UnauthorizedRegistration</TITLE>\n</HEAD>\n<BODY BGCOLOR="#FFFFFF" …
Run Code Online (Sandbox Code Playgroud)

google-chrome push-notification google-cloud-messaging web-push

12
推荐指数
1
解决办法
3683
查看次数