我浏览了其他主题 - 没有具体的答案.
我为通知实施了一个服务工作者
http://docs.pushwoosh.com/docs/chrome-web-push
Run Code Online (Sandbox Code Playgroud)
我检查了所有内容 - 所有脚本都在root中,密钥很好实现.但是,我没有被提示允许通知.
控制台输出读取:
GET https://mydomain/service-worker.js net::ERR_FILE_EXISTS
Run Code Online (Sandbox Code Playgroud)
注意:我有正确的URL(只是在这里更改).
是什么导致服务工作者错误?我该如何解决?
google-chrome push-notification service-worker web-push push-api
pushsubscriptionchange当推送通知服务器希望客户端重新订阅时,浏览器会触发该事件.如何手动触发此事件进行测试?
我们于2015年7月在我们的网站上部署了chrome服务工作者,拥有超过380,000个活跃用户,其中90%以上是移动设备.但是我们遇到了服务工作者的问题.当用户的缓存被清除或许多移动应用程序(如手机上的cleanmaster和其他实用程序应用程序)清除用户移动设备上的缓存时.在这种情况下,我们无法访问该用户的设备令牌.因此,即使有谷歌向我们发送消息ID的380K活跃用户,我们也只获得50K的展示次数,这是一个非常低的比率.我们的推送通知订阅是在单独的子域上实现的,因为我们无法使整个站点成为https.
我有2个查询:
mobile google-chrome push-notification service-worker web-push
有没有办法在一个信号web-push-sdk手动添加用户和取消订阅?
我在我的subscribeOneSignal()功能中试过这个,但没有发生任何事情.
OneSignal.push(function() {
OneSignal.registerForPushNotifications();
});
Run Code Online (Sandbox Code Playgroud)
我有简单的html页面,其中有两个按钮,一个是"订阅",另一个是"取消订阅",现在当用户点击"订阅"按钮时,他应该添加一个信号,当他点击"取消订阅"按钮时,他不应该收到通知.
<!DOCTYPE html>
<html>
<head>
<link rel="manifest" href="/manifest.json">
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async></script>
<script>
var OneSignal = window.OneSignal || [];
OneSignal.push(["init", {
appId: "345345-asdf-345",
autoRegister: false,
notifyButton: {
enable: true
}
}]);
function subscribeOneSignal(){
OneSignal.push(function() {
OneSignal.registerForPushNotifications();
});
OneSignal.push(function() {
OneSignal.registerForPushNotifications({
modalPrompt: true
});
});
}
function unSubscribeOneSignal(){
//unsubscribe functionality goes here
}
</script>
</head>
<body>
<p>OneSingle Testing</p>
<br>
<button onclick="subscribeOneSignal()">Subscribe </button>
<button onclick="unSubscribeOneSignal()">Unsubscribe </button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我创建了一个系统,通过 Firefox 和 Chrome 使用浏览器推送通知与网站访问者进行更多互动。
我正在查看我的 Google Analytics 事件,了解订阅失败的原因,最大的原因是“推送服务不可用”。
我已经四处寻找原因,试图找出这意味着什么以及为什么会这样,但我找不到任何关于它的信息。
这是直接来自 GA 的错误:
AbortError: Registration failed - push service not available
Run Code Online (Sandbox Code Playgroud)
先感谢您!
firefox notifications google-analytics google-chrome web-push
我目前正在学习服务工作者,特别是订阅用户推送通知。我已经完成了Web 推送通知 指南和将推送通知添加到 Google 发布的 Web 应用程序 代码实验室- 但我看到了两种不同的请求用户许可的方式。
该指南要求使用这样的Notification通知 API 接口,然后根据以下返回值进行调用:subscribe().requestPermission()
function askPermission() {
return new Promise(function(resolve, reject) {
const permissionResult = Notification.requestPermission(function(result) {
resolve(result);
});
if (permissionResult) {
permissionResult.then(resolve, reject);
}
})
.then(function(permissionResult) {
if (permissionResult !== 'granted') {
throw new Error('We weren\'t granted permission.');
}
});
}
Run Code Online (Sandbox Code Playgroud)
代码实验室仅通过.subscribe()直接在 Service Worker 注册上调用(这将弹出通知提示)来进行询问,PushManager 如下所示:
function subscribeUser() {
const applicationServerKey = urlB64ToUint8Array(applicationServerPublicKey);
swRegistration.pushManager.subscribe({
userVisibleOnly: true,
applicationServerKey: applicationServerKey …Run Code Online (Sandbox Code Playgroud) javascript push-notification web-notifications service-worker web-push
如何处理角度服务工作者中的推送通知单击.SWPush没有任何方法.
我已经尝试引用一个侦听"notificationclick"事件处理程序的js,但是在点击通知按钮时它从未被触发过.
任何指针都会有所帮助!
我使用的是 46.0a1 版本的 Firefox Nightly(OS X 只有 42v,而 Push API 需要 43v)。
我收到此错误:
DOMException [AbortError: "Error retrieving push subscription"
code: 20
nsresult: 0x80530014]
Run Code Online (Sandbox Code Playgroud)
这是抛出此错误的片段:
navigator.serviceWorker.ready.then(function (serviceWorkerRegistration) {
serviceWorkerRegistration.pushManager.subscribe()
.then(function (subscription) {
endpoint = subscription.endpoint;
console.log('subscription endpoint: ', subscription.endpoint);
subscribeOnServer();
})
.catch(function (e) {
// here that error is raised
errorNotification.innerHTML = 'Unable to subscribe to push';
}
});
});
Run Code Online (Sandbox Code Playgroud)
在 Chrome 中,这个地方不会抛出任何东西,我通过正确的端点获得订阅。
我设法通过类似的方法将空推送通知发送到 chrome 和 firefox,尽管我试图使我的通知更详细,但是我找不到使用 .net 作为后端的详细 webpush 通知的示例。
我的 Firefox 示例如下:
Shared Function sendPushFox(ByVal value As String) As String
Dim toret As String = ""
Dim query As String = "SELECT subscribeid FROM custom_user_data WHERE NOT subscribeid = ' ';"
Dim connection As New MySqlConnection(Utils.connectionString) : connection.Open()
Dim command As MySqlCommand = New MySqlCommand(query, connection)
Dim reader As MySqlDataReader = command.ExecuteReader()
Dim regList As New List(Of String)
Do While reader.Read
regList.Add(reader.GetString(0))
Loop
Dim query2 As String = "SELECT p256dh FROM …Run Code Online (Sandbox Code Playgroud) 我已经使用 TWA 和本教程成功地为我的网站创建了一个 apk。
https://developers.google.com/web/updates/2019/02/using-twa
但我不知道我应该如何为我的 apk 添加推送通知。有两种方法: 1. Web-push 2-android push。他们都有单独的SDK。
问题是,如果我使用 web-push,chrome 怎么知道它不应该去网站,而应该去 app.
而且我也有使用 android sdk 进行推送通知的问题。push 的教程说你应该在主要活动的 onCreate 事件中放置一些代码。我的项目(用 twa 教程制作)没有活动。