广告选择 API 在不使用第三方 Cookie 的情况下在网站上提供与用户相关的广告。 请参阅存储库中的privacy-preserving-ads广告选择概述。
详细内容:
广告选择 API 可用于:
- 运行供应方平台的卖家 (SSP) ,他们可以使用 API 为发布者提供更高质量的广告。
- 运行需求方平台的买家 (DSP) ,他们可以使用 API 来提高广告活动的有效性。
若要开始使用广告选择 API 并测试端到端流,请注册广告选择 API 的有限预览版。
对于经营供应方平台的卖方或运营需求方平台的买家,请使用本指南来:
- 通过注册原始试用版来注册广告选择 API 有限预览版。
- 通过发布证明 JSON 文件来完成 API 证明。
- 使用受支持的云提供商设置评估环境。
- 查看广告选择 API 文档。
- 准备 User-Defined 函数 (UDF) 。
- 将服务部署到Azure。
- 测试网站上的广告选择 API。
证明注册和 alpha 注册
预览版何时何地可用?
Microsoft Edge 版本从 130.0.2808.0 开始,在欧洲经济区 (欧洲经济区) 和英国 (英国) 之外,在有限的开发人员选择加入预览版中支持广告选择 API。
用于测试的标志
若要更改开发人员计算机上的广告选择 API 平台功能,请使用 中的edge://flags#edge-ad-selection-api广告选择 API 测试标志:
广告选择 API 标志启用广告选择 API 和关联的功能,例如:
- 归因报告。
- 围栏框架。
- 共享存储。
- 专用聚合。
注册和证明要求和流程
对 alpha 测试感兴趣的开发人员可以加入广告选择 API 的源试用版。 此源试用版支持对广告选择 API 功能的端到端测试,涵盖 API 使用情况和安全容器映像的部署。
对于要用于广告选择 API 的每个顶级域,请填写该域的 “源试用注册 ”表单,然后提交表单。
若要注册域 的广告选择 API 源试用版,请执行以下作:
首先,执行在 Microsoft Edge 中使用源试用版中的步骤。
然后创建名为
ad-selection-attestations.json的文件,并将该文件托管在顶级域中的/.well-known/目录中。 例如:https://contoso.example/.well-known/ad-selection-attestations.json文件
ad-selection-attestations.json必须在收到 OT 令牌后的 30 天内 发布。 需要托管此 JSON 文件,以便完成证明并允许代码访问广告选择 API,以及使用受支持的 Microsoft Edge 客户端测试广告选择 API。
示例 JSON 文件
证明 JSON 文件必须命名为 ad-selection-attestations.json,并且必须符合以下标准。 下面是文件的示例 ad-selection-attestations.json :
{
"ad_selection_api_attestations": [
{
"attestation_parser_version": "2",
"attestation_version": "2",
"privacy_policy": [
"https://contoso.example/privacy/"
],
"ownership_token": "<Your Unique Token Here>",
"enrollment_site": "https://contoso.example/",
"platform_attestations": [
{
"platform": "edge",
"attestations": {
"ad_selection_api": {
"ServiceNotUsedForIdentifyingUserAcrossSites": true/false
},
"attribution_reporting_api": {
"ServiceNotUsedForIdentifyingUserAcrossSites": true/false
},
"shared_storage_api": {
"ServiceNotUsedForIdentifyingUserAcrossSites": true/false
},
"private_aggregation_api": {
"ServiceNotUsedForIdentifyingUserAcrossSites": true/false
}
}
},
{
"platform": "android",
"attestations": {}
}
]
}
]
}
重要字段和值
该文件
ad-selection-attestations.json必须包含为此顶级域生成并发送给你的源试用令牌。"ownership_token":是在为 广告选择 API 源试用版注册此域时生成的源试用令牌。在 节中
"platform_attestations":,"platform":必须是"edge"或"android"。该文件必须包含与 Ad Services API) 关联的 API (功能的列表。
"platform_attestations":在 部分中,的有效成员"attestations":如下:-
"ad_selection_api":- 专用拍卖逻辑的主 API。 -
"attribution_reporting_api":- 归因报告。 -
"shared_storage_api":- 共享存储。 -
"private_aggregation_api":- 专用聚合。 - 要求:
- 每个
"..._api":条目都必须有一个字段 ,"ServiceNotUsedForIdentifyingUserAcrossSites":具有true或false值。true表示此服务不用于跨站点标识用户。false表示此服务用于跨站点标识用户。
- 每个
-
部署广告选择 API 服务
广告选择 API 使用受信任的执行环境 (TEE) ,为数据完整性、数据机密性和代码完整性提供级别保证;请参阅 机密计算:应用程序和数据的 Hardware-Based 受信任执行。 广告选择 API 提供的服务必须在 TEE 中运行,以保护这些服务使用的数据。
在 TEE 中运行的广告选择服务应部署在支持必要安全功能的云平台上。 最初,可以使用机密 ACI 容器在 Azure 中部署服务;请参阅Azure 容器实例上的机密容器。
广告选择 API 提供卖家或买家需要部署的不同服务。
用于部署服务的映像
在所提供的服务映像中添加 User-Defined Functions (UDF) 。 User-Defined Functions 可以运行自定义业务逻辑。 User-Defined Functions 在部署的服务中的专用容器中运行。
每个映像定义一个服务。 某些图像不包含 UDF,并且完全由预定义代码组成。 某些图像包含 UDF,作为具有空正文或初学者代码的函数,这些函数是该服务的相关 User-Defined 函数。 在这些图像中,使用自己的自定义代码填充 User-Defined Functions 的正文。
Microsoft为每个服务提供一个映像,该服务可以部署在云提供商上。 这些是必须用于部署的公共映像。 只有来自Microsoft的官方图像才能进行私人拍卖。
用于部署的映像:
- 卖家
- 买家
- 卖家和买家
面向卖家的服务
| 服务 | 说明 |
|---|---|
| SellerFrontEnd | 提供 HTTPS /SelectAd 终结点,该终结点接收来自卖家不受信任的广告服务的请求,以启动受保护的受众拍卖流。 |
| 拍卖 | 提供一个 /ScoreAds 终结点,该终结点接收来自 SellerFrontEnd 服务的请求,其中包含参与拍卖的出价。 使用 SellerFrontEnd 服务用于选择优胜者的分数值进行响应。 |
| 键/值 | 接收来自 SellerFrontEnd 服务的请求,其中包含来自买家出价 ((例如) ) ad_render_urls 的查找键。 返回拍卖所需的实时评分信号。 在“自带服务” (BYOS) 模式下运行,因此卖方无需 (TEE) 的受信任执行环境中部署此服务,而是可以使用 Microsoft 提供的映像。 |
面向买家的服务
| 服务 | 说明 |
|---|---|
| BuyerFrontEnd | 提供一个 /GetBids 终结点,该终结点接收来自 SellerFrontEnd 服务的请求,以启动竞价流。 |
| 投标 | 提供一个 /GenerateBids 终结点,该终结点接收来自 BuyerFrontEnd 服务的请求,以处理投标并生成出价。 生成出价,选择优胜者,然后选择要呈现的横幅。 |
| 键/值 | 接收 来自 BuyerFrontEnd 服务的请求,并返回竞价所需的实时买家数据,对应于兴趣组的查找密钥。 此类请求在每个工作流中发生一次。 在“自带服务” (BYOS) 模式下运行。 |
| 竞价选择 & 键/值 | 接收来自 投标 服务的请求,以选择并返回其他广告横幅, (可以参与竞价的考生) 。 竞价选择 & 键/值服务还可以返回投标所需的其他信号。 投标服务可能会向投标选择 & 键/值服务发送多个请求,也可以选择不发送任何请求,因为投标选择 & 键/值服务是可选的。 投标选择 & 键/值服务必须部署在受信任的执行环境中, (TEE) 。 |
| K-匿名 | 收集 k 匿名计数器,并检查获胜的广告创意是否通过 k-匿名检查。 |
用户定义的函数
卖家和购买者需要提供自己的自定义代码,作为 User-Defined Functions (UDF) ,这些函数在部署的服务中的专用容器中运行。 这些 User-Defined Functions 可以执行自定义业务逻辑。
每个买家或卖方都可以部署给定服务的多个实例,例如:
- SellerFrontEnd 和 Auction。
- BuyerFrontend、 投标和 K-匿名。
其中一些服务采用一个输入,该输入是定义 User-Defined Functions 的 JavaScript worklet。
面向卖家的 User-Defined 函数
| UDF | 运行 UDF 的服务 | 说明 |
|---|---|---|
scoreAd() |
拍卖 | 为每个买家的出价生成分数,或拒绝出价。 然后, SellerFrontEnd 服务使用此分数,从所有买家中选择一个赢家。 |
reportResult() |
SellerFrontEnd | 对于事件级报告。 在选择最终获胜者后,在 SellerFrontEnd 服务中运行。 通知卖方中标人,并提供出价值。 |
面向买家的 User-Defined 函数
| UDF | 运行 UDF 的服务 | 说明 |
|---|---|---|
generateBids() |
投标 | 生成出价,并选择将显示的横幅。 |
reportWin() |
SellerFrontEnd | 对于事件级报告。 如果买家的出价赢得拍卖,请在 SellerFrontEnd 服务中运行。 通知买家他们已赢得拍卖,并生成稍后将触发的通知 URL,例如在横幅呈现或其他客户端事件期间。 |
getValues() |
竞价选择 & 键/值 | 如果买家使用该项服务,请在 竞价选择 & 键/值 服务中运行。 允许对数据查找和选择执行自定义代码。 |
部署指南
若要将广告选择 API 服务部署到Azure,请执行以下作:
在 Microsoft Azure 创建Azure帐户并创建订阅。
选择 “机密 ACO 容器 ”选项。
转到新窗口或选项卡中的 Terraform 部署脚本 ,然后下载 Terraform 部署脚本并查看部署文档。 注意: 确保下载的图像的哈希与下载的脚本中的哈希匹配。
Terraform 脚本已包含指向Microsoft提供的公共映像的链接。 选择所需的服务,并按照包含
readme.md中的步骤部署它们。为环境设置任何特定标志,包括拍卖工作位置。
配置所有先决条件并准备所有用于部署的工具。
创建Azure资源并运行完成部署的 Terraform 脚本。
开发包括 (UDF) 在内的工作项
user-defined-function,并启动广告选择 API 服务。
在网站上使用广告选择 API
若要开始使用广告选择 API,卖家和买家需要修改其网站的 JavaScript 代码,该代码在浏览器Microsoft Edge 时运行。
卖家:若要运行私人拍卖、提取兴趣组和进行报告,请在发布者网站上更新代码。
购买者:若要创建兴趣组并将其存储在浏览器中,请更新广告合作伙伴网站上的代码。 可以使用委派机制来限制并允许在第三方域上创建兴趣组。
若要详细了解哪些 API 方法可用以及查看示例代码,请参阅 广告选择 API 详细信息。
提供有关源试用版的反馈
若要提供有关广告选择 API 源试用版的反馈,请在 WICG/privacy-preserving-ads GitHub 存储库上创建新问题:
若要查看现有问题,请转到 WICG/隐私保留-广告存储库的“问题”选项卡。
若要提交新问题,请转到 新问题表单。
使用条款
请参阅 广告选择 API 的使用条款。
数据保护附录
另请参阅
源试用版:
设计和技术文档:
用于部署的映像:
- 卖家
- 买家
- 卖家和买家
部署脚本:
TEE) (受信任的执行环境:
Azure: