subscribe - 提供的网络推送 applicationServerKey 无效

标签 subscribe web-push

我正在尝试通过以下功能订阅网络推送。

function postSubscriptionBo() {
  return navigator.serviceWorker.register('/service-worker.js')
  .then(function(registration) {
    const subscribeOptions = {
      userVisibleOnly: true,
      applicationServerKey: APPLICATION_SERVER_KEY
    };

    return registration.pushManager.subscribe(subscribeOptions);
  })
  .then(function(pushSubscription) {
    console.log('Received PushSubscription: ', JSON.stringify(pushSubscription));
    return pushSubscription;
  });
}

这些是当前的步骤:
1. 从 Firebase 控制台 > 云消息选项卡 > 服务器 key 获取应用程序服务器 key
2.使用window.btoa(server key)编码应用服务器 key
3.从服务器 key 中删除tailing =
4. 浏览器抛出异常:提供的网络推送applicationServerKey不合法。

关于我在这里做错了什么的建议? 谢谢。

最佳答案

在云消息选项卡中生成 Web 推送证书公钥(在同一云消息选项卡的底部)并添加它而不是服务器 key 后,它起作用了,而不是使用服务器 key 。

关于subscribe - 提供的网络推送 applicationServerKey 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60175635/

相关文章:

Angular 2 管道,正确使用 observable,我的管道不返回海报路径

javascript - 如何使用 javascript 以编程方式为用户订阅谷歌日历?

JavaScript 网络推送 : where can I get "auth" key?

php - 如何向所选用户的浏览器发送通知

iframe - 来自 iframe 的 Service Worker,用于 Web 的 Chrome GCM 通知

javascript - 在其他函数中访问时,响应订阅中设置的 Angular 4 值为空

firebase - FCM : How to avoid duplicate notifications if a user has subscribed to multiple topics

Angular 2 订阅值更改未反射(reflect)在 html 上

javascript - 如何从 Http 站点使用 Chrome 推送通知