首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >浏览器通知推送服务:如何指定推送服务器?

浏览器通知推送服务:如何指定推送服务器?
EN

Stack Overflow用户
提问于 2022-07-26 13:34:56
回答 1查看 95关注 0票数 0

我正在尝试为浏览器web应用程序设置推送通知。

我发现以下代码可用于订阅推送服务器。在本地运行简单的push服务器似乎很好,但是

Q:,我在想,如果它不是本地的,我将如何指定推送服务器?

我的意思是,浏览器如何通过查看服务器的公钥就知道在哪里订阅呢?

代码语言:javascript
运行
复制
function createNotificationSubscription(pushServerPublicKey) {
    return navigator.serviceWorker.ready.then(
      (serviceWorker) => {
        return serviceWorker.pushManager
        .subscribe({
          userVisibleOnly: true,
          applicationServerKey: pushServerPublicKey
        })
        .then((subscription) => {
          console.log("✅  User is subscribed.", subscription);
          return subscription;
        });
      }
    );
  }

参考文献:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-27 12:06:12

如何指定推服务器.?

你没有。

如果不是本地的话,

这是个误会。

推送服务器将始终是浏览器供应商提供的固定服务器。

它基本上是这样工作的:

subscribe()

  • This请求转到浏览器供应商的通知服务器(,google,.),
  • 该服务器将创建一个所谓的推送端点--只是一个花哨的词。这个URL充当一个邮箱:如果有人向它发送消息,推送服务器(仍然是浏览器供应商的服务器)将将其转发到浏览器(client).
  • The服务器,将返回推送端点和一些其他信息(由于初始subscribe().
  • Currently ),只有push服务器和web应用程序知道web应用程序所需的推送endpoint....
  • So,以了解应用程序服务器(也就是您的服务器) subscribe的整个结果。
  • 现在可以使用这些信息向推送服务器发送消息。推送服务器然后将消息转发给客户端.

这里还有一个流程图,描述了流程,并提供了更多关于不同参与者的详细信息:

  • Push服务:在浏览器供应商的
  • 信息上运行的服务: push端点的URL以及一些键.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73124392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档