更改服务工作者订阅端点
Change service worker subscribe endpoint
所以我尝试进入 Push API 并设置了一个非常基本的示例,其中包含一个空服务-worker.js 和一个仅触发订阅的 index.js目前:
function subscribeUserToPush() {
return navigator.serviceWorker.register('service worker.js').then(function(registration) {
var subscribeOptions = {
userVisibleOnly: true,
applicationServerKey: urlBase64ToUint8Array(
'foobarkeyoffoobarness'
)
};
return registration.pushManager.subscribe(subscribeOptions);
}).then(function(pushSubscription) {
console.log('PushSubscription: ', pushSubscription);
return pushSubscription;
});
}
我收到的订阅端点类似于 "fcm.googleapis.com/fcm/send/dfyodk6jd3c:APA91bETwSnoOpagCulOlD11XJu7savlJXp4hwEqKeqldHJxW6_WQTfjNTKjsT9JpY1auK...."
现在我的问题是:是否真的有可能(即使这是一个坏主意)有一个自定义的推送服务端点,一个自托管解决方案?
Googlefirebase真的垄断了这个吗?
如果有人感兴趣:https://developers.google.com/web/fundamentals/push-notifications/how-push-works
During the subscription flow the browser requests a subscription from
the messaging server. Each browser vendor has it’s own messaging
server, but your browser knows which server to call.
正如 offered link 所述,每个浏览器都可以使用他们想要的任何推送服务,这是开发人员无法控制的
我需要在使用本地网络且无法访问互联网的组织中使用推送通知,但事实证明服务工作者推送通知至少目前不适合内网,也许在不久的将来会有是一些解决方案,有一个名为 SignalR 技术的替代方案,但您可能知道它在浏览器选项卡关闭时不起作用,因此与 WbPush 相反,SignalR 无法唤醒关闭的网络浏览器。
也许唯一的希望是 dom.push.serverURL,您可以在 here 中阅读更多相关信息。
我还了解到 Firefox 使用 Autopush 作为推送服务。
这里有一些链接说你不能:
WebPush without third party -
所以我尝试进入 Push API 并设置了一个非常基本的示例,其中包含一个空服务-worker.js 和一个仅触发订阅的 index.js目前:
function subscribeUserToPush() {
return navigator.serviceWorker.register('service worker.js').then(function(registration) {
var subscribeOptions = {
userVisibleOnly: true,
applicationServerKey: urlBase64ToUint8Array(
'foobarkeyoffoobarness'
)
};
return registration.pushManager.subscribe(subscribeOptions);
}).then(function(pushSubscription) {
console.log('PushSubscription: ', pushSubscription);
return pushSubscription;
});
}
我收到的订阅端点类似于 "fcm.googleapis.com/fcm/send/dfyodk6jd3c:APA91bETwSnoOpagCulOlD11XJu7savlJXp4hwEqKeqldHJxW6_WQTfjNTKjsT9JpY1auK...."
现在我的问题是:是否真的有可能(即使这是一个坏主意)有一个自定义的推送服务端点,一个自托管解决方案?
Googlefirebase真的垄断了这个吗?
如果有人感兴趣:https://developers.google.com/web/fundamentals/push-notifications/how-push-works
During the subscription flow the browser requests a subscription from the messaging server. Each browser vendor has it’s own messaging server, but your browser knows which server to call.
正如 offered link 所述,每个浏览器都可以使用他们想要的任何推送服务,这是开发人员无法控制的
我需要在使用本地网络且无法访问互联网的组织中使用推送通知,但事实证明服务工作者推送通知至少目前不适合内网,也许在不久的将来会有是一些解决方案,有一个名为 SignalR 技术的替代方案,但您可能知道它在浏览器选项卡关闭时不起作用,因此与 WbPush 相反,SignalR 无法唤醒关闭的网络浏览器。
也许唯一的希望是 dom.push.serverURL,您可以在 here 中阅读更多相关信息。
我还了解到 Firefox 使用 Autopush 作为推送服务。
这里有一些链接说你不能:
WebPush without third party -