问题标签 [web-push]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1294 浏览

service-worker - 我的 PushRegistration 对象上不存在 keys 属性

我正在尝试在渐进式网络应用程序中实现推送通知,并在 Chrome 中使用新的有效负载支持。

我正在尝试将端点和密钥发送到服务器,但在 PushSubscription 对象上看不到 keys 属性...

如何访问密钥以便将它们发送到服务器?

0 投票
2 回答
5626 浏览

service-worker - 自 Chrome 切换到 OSX 通知后,网络推送通知未显示

由于 Chrome 切换到本机 OSX 通知,有时我尝试使用 web-push 和我的服务人员显示的通知不会出现。

它们始终出现在以前版本的 Chrome 中。

自从他们开始做这项工作以来,我应该改变什么吗?

0 投票
1 回答
462 浏览

javascript - 通过第 3 方注册 Service Worker

Service Worker 只能安装在 HTTPS 域上。但是,我看到公司在其 https 域上托管 service worker 和 manifest.json 并能够在 http 域上注册的产品。

示例 - http://www.site1.com可以从https://cdn.site2.com注册 service-worker 。

谁能解释它是如何完成的?

0 投票
1 回答
1184 浏览

google-chrome - Chrome 推送通知:发送隐形推送

我不仅想发送带有消息的推送(通过获取),而且有时还发送不可见的推送(即根本不显示通知),只是为了检查有多少用户仍然订阅以及他们接收推送的速度。

我试过这段代码。它似乎有效,但在某些设备上,我收到“此站点已在后台更新”消息,这令人困惑。

我如何才能真正阻止浏览器显示任何内容?

0 投票
1 回答
193 浏览

javascript - Web 推送通知服务工作者设计

我有一个服务工作者,它能够从我们的服务器接收推送事件,到目前为止一切正常。当前版本的 Chrome 不支持接收到的通知中的数据负载。因此,我需要在推送事件发生后从服务器获取有关通知的信息(标题、文本、..)。

为了确保用户不会两次收到相同的通知,我将他尚未收到的“待处理”通知的 ID 保存在一个数组中。每次 service worker 对服务器执行 ping 操作时,都会从数组中取出最后一项并将其从数组中删除。

问题是,如果在发送过程中或服务工作者在获取通知时抛出任何异常,服务工作者会落后一个通知,这意味着如果只有一个新的待处理通知,则数组总是包含 2 个项目.

我该如何处理?

0 投票
1 回答
1684 浏览

service-worker - Push web api,notificationclick,如何打开桌面客户端而不是打开新的浏览器客户端

谈到 Service Worker,当推送通知到达时,我们可以处理用户在这些通知中的点击,

例如,如果尚未打开,则在浏览器的新选项卡中打开 url。但是如果我们有一个桌面网络应用程序(添加到 HomeScreen),我们如何打开它?

在这段代码中,clients.openWindow(url); 将始终在浏览器中打开应用程序。

0 投票
1 回答
127 浏览

google-chrome - 推送通知:如何处理 Chrome 49 到 Chrome 50 的升级?

Chrome 49 不支持消息体;Chrome 50(计划于 2016 年 4 月 19 日发货可以。当用户从 Chrome 49 升级到 Chrome 50 时,我应该如何将他们从没有消息体的推送通知升级到消息体的推送通知?

0 投票
2 回答
1685 浏览

web-push - 我应该如何处理 pushsubscriptionchange 事件?

根据规范,一个pushsubscriptionchange事件表示“推送订阅已失效,或即将失效”。处理此事件的最佳做法是什么?

0 投票
2 回答
3078 浏览

web-push - 如何测试 pushsubscriptionchange 事件处理代码?

pushsubscriptionchange当推送通知服务器希望客户端重新订阅时,浏览器会触发该事件。如何手动触发此事件进行测试?

0 投票
1 回答
1512 浏览

google-chrome - 推送通知未通过服务人员传递

我们已于 2015 年 7 月在我们的网站上部署了 chrome service worker,并拥有超过 38 万活跃用户,其中超过 90% 是移动设备。但是我们遇到了服务工作者的问题。当用户的缓存被清除或手机上的许多移动应用程序(如 cleanmaster 和其他实用程序应用程序)清除用户手机上的缓存时。在这种情况下,我们无权访问该用户的设备令牌。因此,即使谷歌向我们发送消息 ID 的 38 万活跃用户,我们也只能获得 5 万次展示,这是一个非常低的比率。我们的推送通知订阅是在单独的子域上实现的,因为当时我们无法使整个站点成为 https。

我有 2 个查询:

  1. 我们很想知道谷歌是否正在努力建立一个规范系统(在 GCM 中用于移动应用程序),即使用户的缓存通过这些应用程序被清除,他也可能能够获得推送通知。我们的用户一次又一次地抱怨说,即使在订阅后他们也没有收到推送,那是我们深入研究并弄清楚这一点的时候。
  2. 还有一种方法可以确保我们找回这些用户吗?