我对网络推送通知和服务人员有一些疑问
网站授予的权限持续多长时间?
包含webpush终结点和密钥更改的订阅对象吗?
如果它改变了,我怎么知道它改变了?
是否应随时重新生成订阅对象?
非常感谢
答案 0 :(得分:1)
这是您问题的答案!
- 网站授予的权限持续多长时间?
始终检查使用Notifications API的权限。务必检查是否已授予许可,因为状态可能会更改。用户可以手动禁用权限,因此每次都进行检查以避免破坏代码
- 包含Web推送端点和密钥更改的订阅对象吗?
- 如果它改变了,我怎么知道它改变了?
您的服务器需要生成一对应用程序服务器密钥-这些也称为VAPID密钥,这对于您的服务器是唯一的。它们是一对公钥和一个私钥。私钥秘密地存储在您的一端,而公钥则与客户端交换。通过这些键,推送服务可以知道哪个应用程序服务器订阅了用户,并确保该服务器与向该特定用户触发推送消息的服务器相同。
您只需为应用程序创建一次私钥/公钥对。一种方法是去https://web-push-codelab.glitch.me/
端点和公钥将保持不变,因此不需要更改。
- 是否应随时重新生成订阅对象?
要向用户发送推送消息时,首先需要的是推送服务。您是在告知推播服务(通过API调用)要发送哪些数据,向谁发送消息以及有关如何发送消息的所有条件。通常,此API调用是从您的服务器完成的。
参考:
Google Developers官方文档:https://developers.google.com/web/ilt/pwa/introduction-to-push-notifications
希望这会有所帮助!