html无法触发protected audience竞价,因其仅是静态结构层,而竞价必须由javascript在浏览器安全上下文中调用joinadinterestgroup()、runadselection()等受控api完成。

HTML 本身不参与 Protected Audience 竞价逻辑,所有竞价行为必须由 JavaScript 在浏览器环境中调用 joinAdInterestGroup()、runAdSelection() 等 API 完成;直接在 HTML 中写标签或属性无法触发竞价流程。
为什么不能用 HTML 标签触发 Protected Audience 竞价
Protected Audience 是基于隐私沙盒的运行时 API,依赖浏览器内建的隔离执行环境(如 Worklet、Ad Selection Service),HTML 是静态结构层,不具备调用这些受控 API 的能力:
-
joinAdInterestGroup()必须在安全上下文(HTTPS)、用户交互后或页面可见时由 JS 主动调用,且需满足存储权限(document.hasStorageAccess()或已授权) -
runAdSelection()只能在 service worker 或专用 worklet(如ad-auction.js)中执行,HTML 无法加载或注册这类脚本 - 广告选择结果不会通过 DOM 属性或自定义元素暴露,必须由 JS 显式处理
AdSelectionResult对象
HTML 中真正需要配合的三处关键位置
虽然 HTML 不执行竞价,但它是整个流程的「入口锚点」和「上下文载体」,以下三处必须正确配置,否则 JS 调用会静默失败:
- 页面必须通过 HTTPS 提供 —— HTTP 下所有 Protected Audience API 返回
NotSupportedError或直接不可用 -
<meta name="viewport" content="width=device-width">建议保留,部分 Android WebView 实现对非响应式页面限制joinAdInterestGroup()调用 - 若使用
<iframe></iframe>加载竞价逻辑,需显式声明sandbox="allow-scripts allow-same-origin",否则跨源 iframe 内 JS 无法访问 API
常见错误:把竞价当普通 fetch 写在 HTML script 标签里
这种写法看似合理,实则大概率失败:
<script>
// ❌ 错误:未检查权限、未处理 promise rejection、未指定 worklet 路径
navigator.advertisingPrivateAggregation?.joinAdInterestGroup?.({
name: "shoes_buyers",
owner: "https://adtech.example",
biddingLogicUrl: "https://adtech.example/bid.js"
});
</script>
实际应:
- 先调用
navigator.permissions.query({name: "attribution-reporting"})或检查"advertisingPrivateAggregation" in navigator - 确保
biddingLogicUrl返回的 JS 文件 MIME 类型为application/javascript,且支持 CORS(Access-Control-Allow-Origin: *) - 将
runAdSelection()放入独立的ad-auction.js并通过navigator.runAdSelection()指定,不能 inline
调试时最容易被忽略的 Chrome 条件
即使代码完全正确,Chrome 也只在特定条件下启用 Protected Audience:
- 必须启用实验性功能:
chrome://flags/#privacy-sandbox-ads-apis→ 设为 Enabled - 不能处于无痕模式(Incognito)—— 此模式下所有 interest group 存储被禁用
- 目标域名需在
chrome://settings/adPrivacy中未被用户手动排除 - 调用
joinAdInterestGroup()后,至少要等待 5 分钟再调用runAdSelection(),否则返回空结果(冷启动延迟)
没有这些前置条件,HTML 页面里任何 JS 都不会真正进入竞价流程,只会快速 resolve 或 reject,且无明确报错提示。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











