gpt4 book ai didi

javascript - 服务 worker 的网络推送通知

转载 作者:数据小太阳 更新时间:2023-10-29 04:50:14 25 4
gpt4 key购买 nike

我有几个关于 webpush 通知和 service worker 的问题

授予网站的权限持续多长时间?

包含 webpush 端点和 key 的订阅对象是否发生变化?

如果它改变了,我怎么知道它改变了?

是否应该随时重新生成订阅对象?

非常感谢

最佳答案

这里是您问题的答案!

  1. How long does a granted permission last for a website?

始终检查是否有使用通知 API 的权限。重要的是要不断检查是否已授予权限,因为状态可能会发生变化。用户可以手动禁用权限,因此每次都要检查以避免破坏代码

  1. Does the subscription object that contains the web push endpoint and key change?
  2. If it changes, how would I know it changed?

您的服务器需要生成一对应用服务器 key —— 这些也称为 VAPID key ,它们对您的服务器是唯一的。它们是一对公钥和私钥。私钥 secret 存储在您的一端,而公钥则与客户端交换。这些 key 允许推送服务知道哪个应用程序服务器订阅了用户,并确保它是触发向该特定用户推送消息的同一台服务器。

您只需为您的应用程序创建一次私钥/公钥对。一种方法是转到 https://web-push-codelab.glitch.me/

端点和公钥将保持不变,因此无需更改。

  1. Should the subscription object be regenerated at any time?

当您想向用户发送推送消息时,您首先需要的是推送服务。您告诉推送服务(通过 API 调用)要发送什么数据、将消息发送给谁以及关于如何发送消息的任何标准。通常,此 API 调用是从您的服务器完成的。

引用文献:

官方 Google Developers 文档:https://developers.google.com/web/ilt/pwa/introduction-to-push-notifications

https://blog.sessionstack.com/how-javascript-works-the-mechanics-of-web-push-notifications-290176c5c55d

希望这对您有所帮助!

关于javascript - 服务 worker 的网络推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53269971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com