共享存储空间概览

借助 Shared Storage API,网站可以存储和访问未由顶级网站隔离的数据。这样一来,在尊重用户隐私的同时,便可实现和简化跨网站用例。

虽然 Chrome 采用了分区存储,并正在转向提升用户对第三方 Cookie 的选择权的新体验,但仍有许多合法用例依赖于非分区存储,如果没有新的 Web API 的帮助,这些用例将无法实现。例如,内容生产者可能希望在不依赖跨网站标识符的情况下衡量内容在不同网站上的覆盖面。Shared Storage API 通过提供一种更私密的机制来存储和访问跨网站的未分区数据,从而满足这一需求。

什么是 Shared Storage API?

Shared Storage API 是一项通用存储设施,旨在实现可保护隐私的跨网站使用情形。Shared Storage 是一项功能与 localStorage 和 sessionStorage API 类似的键值对存储,可随时写入数据。与其他 Web Storage API 不同,共享存储空间数据可在不同的顶级网站中共享;不过,共享存储空间数据只能从安全环境中读取,并使用受限的输出 API 输出。

显示 shoes.example iframe 嵌入到不同发布商网站(包括 news.example、blog.example)中的示意图。shoes.com 网站可以从每个顶级网站访问自己的未分区存储空间。

在上图中,shoes.example 网站可以嵌入到 news.example 等其他发布商网站中,并且仍然可以访问相同的数据。

此共享存储功能可实现跨网站功能,同时通过阻止跟踪个别网站访问者和限制数据访问来保护用户隐私。数据只能在具有有限输出功能的安全环境(工作区)中访问。

此图显示已注册的网站可以将任何类型的键值对数据写入共享存储空间,但只能通过特定输出 API 读取数据。

Shared Storage 是少数输出 API 的底层存储基础架构。使用 Output API 是使用共享存储空间数据的唯一方法。输出 API 包括:

  • 选择网址:根据存储的数据从提供的列表中选择网址,然后在围栏框中呈现相应内容。
  • 不公开汇总:通过不公开汇总 API 发送跨网站数据,以生成摘要报告

为什么需要共享存储空间?

Shared Storage API 是一种灵活的存储机制,Web 开发者可以将其与输出 API 结合使用来满足许多用例,包括替代第三方 Cookie 的多种现有用途。详细了解输出 API 的潜在用例:选择网址私密汇总

贵公司是否在寻找尚未解决的跨网站存储解决方案?您可以在开源 Shared Storage GitHub 代码库中分享您的用例并创建问题。

与共享存储空间兼容的输出 API 和用例

Output API 使用场景 说明
选择网址 轮播广告素材 您可以存储数据(例如广告素材 ID、观看次数和用户互动情况),以确定用户在不同网站上看到的广告素材。这样,您就可以平衡观看次数,避免某些内容过度饱和,从而避免可能出现的负面用户体验。
选择网址 运行 A/B 测试 A/B 测试会比较两个或更多版本的配置,以确定哪个版本的效果最好。您可以将用户分配到实验组,然后将该组存储在共享存储空间中以实现跨网站访问。
选择网址 为已知客户量身定制用户体验 您可以根据用户的注册状态或其他用户状态分享自定义内容和号召性用语。
选择网址不公开汇总 防滥用缓解措施 反滥用、反欺诈和网络安全组织通常使用专有技术来检测恶意用户,无论是试图造成危害的自动化机器人还是真人。在此用例中,您可以测试许多不同的策略,无论是使用 Select 网址 API 对用户可信度评分进行编码,还是使用 Private Aggregation API 构建用于异常检测的数据集。
不公开汇总 衡量覆盖的唯一身份用户数 许多内容制作者和广告客户通常希望了解有多少唯一用户查看了其展示的内容。您可以使用“共享存储空间”报告用户首次看到您的广告、嵌入的视频或发布内容的情况。您可以防止重复统计同一用户在不同网站上的次数,并生成一个汇总的噪声报告,以估算内容的唯一身份用户覆盖面。
不公开汇总 衡量用户特征 内容制作者非常希望了解其受众群体的受众特征。借助共享存储空间,您可以在第一方网站上捕获用户受众特征数据,并利用汇总报告在各种其他平台(例如嵌入式内容)上分析这些信息。
不公开汇总 衡量覆盖超过 1,000 次的频次 有时也称为“有效频次”,通常需要达到最低观看次数,用户才能识别或回想某些内容(通常是在广告观看的背景下)。您可以使用共享存储空间,针对至少观看了某项内容 K 次的唯一身份用户生成报告。

共享存储空间的运作方式

借助共享存储空间,您可以根据跨网站数据做出明智的决策,而无需与嵌入网站共享用户信息(例如浏览器历史记录或其他个人详细信息),也不必将数据渗漏到您自己的服务器。

您可以随时写入共享存储空间,但只能在安全环境(称为 worklet)中读取共享存储空间值。

您可以在共享存储空间 Worklet 中添加业务逻辑,然后从共享存储空间中读取和处理值,而无需直接将确切值返回给 Worklet 调用方。您可以使用 Private Aggregation API 或 Select 网址 Output API 从工作流中提取信息。随着新用例的报告,可能会推出其他输出 API。

API 状态

Shared Storage API 现已正式发布。按照相关说明注册 Privacy Sandbox,以使用该 API 或在本地开发环境中启用该 API。

Proposal Status
Allow writing from response headers
Explainer
GitHub Issue
Available in M124. Can be manually enabled in M119-M123
Debugging Shared Storage worklets with DevTools
Section
Available in M120
Update Shared Storage data storage limit to 5MB
Explainer
Available in M124
createWorklet() to create cross-origin worklets without an iframe Available in M125
Allow cross-origin script in addModule(), and align createWorklet() to match the behavior Available in M130

互动和分享反馈

请注意,Shared Storage API 提案正在积极讨论和开发中,因此可能会发生变化。

我们非常期待听到您对 Shared Storage API 的看法。

掌握最新动态

  • 邮寄名单:订阅我们的邮寄名单,及时了解与 Shared Storage API 相关的最新动态和公告。

需要帮助?