首页 > 解决方案 > 提供的网络推送 applicationServerKey 无效

问题描述

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

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 控制台 > 云消息传递选项卡 >服务器密钥获取应用程序服务器密钥 2. 使用window.btoa(服务器密钥)编码的应用程序服务器密钥 3. 从服务器密钥中删除 tailing = 4. 浏览器抛出异常:提供的网络推送 applicationServerKey 无效。


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

标签: subscribeweb-push

解决方案


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


推荐阅读