遇见声明式 Web 推送

主要观点:Web 推送通知是网络平台的重要部分,需维持功率效率和隐私预期,Declarative Web Push 可让开发者无需安装服务工作者即可请求推送订阅和显示通知,更节能更隐私且兼容现有推送通知。
关键信息

  • 现有 Web 推送通知以 JavaScript 为先,需注册服务工作者,接收推送消息后由服务工作者处理显示通知,存在静默推送保护和跟踪数据等挑战。
  • Declarative Web Push 可通过PushManager获取推送订阅,支持window.pushManager,推送消息需符合标准 JSON 格式,包含通知描述等信息,用户激活时可导航到指定 URL,若服务工作者处理失败则使用 fallback 通知。
  • 若无法通过互联网发送通知描述,原生 iOS 应用可通过UNNotificationServiceExtension处理,Web 应用中服务工作者 JavaScript 也起类似作用,且浏览器无需对 Declarative Web Push 应用静默推送惩罚。
  • 标准工作方面,已在多个规范中提出相关提案,如允许通知指定导航 URL、添加 Declarative Web Push 格式、在Push API中暴露pushManager等,希望该功能能广泛应用。
    重要细节
  • WebKit 为维护隐私和电池寿命,要求推送订阅设置userVisibleOnly标志为true,否则会撤销推送订阅。
  • Declarative Web Push 的web_push值致敬 RFC 8030,notification字典描述通知内容,非空"title"必填,还可指定其他可选成员。
  • 标准工作中的各项提案细节及对相关 API 的修改,如 Notifications API 和 Push API 的调整。
阅读 15
0 条评论