准备好环境,以便使用 Topics API 来使用、测试和开发 Web 应用。
在本地构建和测试
本部分介绍了如何设置本地环境,以便个人开发者试用 Topics API。建议您先探索演示,了解 Topics 的运作方式,然后再深入了解实现。
在浏览器中启用 Topics
如需在您自己的 Chrome 实例中启用 Topics API 以进行本地测试,您有以下两种选择:
- 启用
chrome://settings/adPrivacy下的所有广告隐私权 API。 - (推荐)使用 Chromium 标志通过命令行运行 Chrome,并使用 Topics API 特有的参数根据需要进行配置。通过从命令行运行 Chrome,您可以更精细地控制 Topics 功能。例如,您可以设置 Topics epoch(API 用于计算用户兴趣的时间范围),并根据需要配置 API 的行为。
主要建议
- 请务必先关闭并停止所有 Chrome 进程,然后再使用标志启动新进程。
- 确保所有广告隐私权 API 均已在
chrome://settings/adPrivacy下启用。 - 如果该 API 无法按预期运行,请尝试我们的问题排查提示。
- 如果您有任何疑问,请查看解说器的 GitHub 问题。
使用 Chrome flag 控制 Topics API
Chrome 标志可以修改 Topics API 的行为。从命令行运行 Chrome,并指定参数以方便测试。例如,标头演示建议使用以下标志:
--enable-features=BrowsingTopics,BrowsingTopicsParameters:time_period_per_epoch/15s/max_epoch_introduction_delay/3s,PrivacySandboxAdsAPIsOverride,PrivacySandboxSettings3,OverridePrivacySandboxSettingsLocalTesting
下表介绍了每个参数、其默认值和用途。
| 标志名称 | 默认值 | 说明 |
|---|---|---|
BrowsingTopics |
已启用 | Topics API 是否已启用。 |
PrivacySandboxAdsAPIsOverride |
已启用 | 启用广告 API:Attribution Reporting、Protected Audience、Topics、Fenced Frames。 |
PrivacySandboxSettings4 |
已停用 | 启用第四版 Privacy Sandbox 界面设置。 |
OverridePrivacySandboxSettingsLocalTesting |
已启用 | 如果启用,浏览器不再需要启用底层设置才能启用 Privacy Sandbox 功能。 |
BrowsingTopicsBypassIPIsPubliclyRoutableCheck |
已停用 | 如果启用,在确定网页是否符合纳入主题计算的条件时,系统将绕过对 IP 地址是否可公开路由的检查。 |
BrowsingTopics:number_of_epochs_to_expose |
3 | 用于计算要提供给请求上下文的主题的周期数。浏览器将在内部保留最多 N+1 个周期。 |
BrowsingTopics:time_period_per_epoch |
7d-0h-0m-0s | 每个周期的时长。对于调试,将此值设置为(例如)15 秒(而不是默认的 7 天)可能很有用。 |
BrowsingTopics:number_of_top_topics_per_epoch |
5 | 每个周期计算的主题数量。 |
BrowsingTopics:use_random_topic_probability_percent |
5 | 一个周期内某个主题是从整个主题分类中随机返回的主题的概率。随机性与周期和网站相关。 |
BrowsingTopics:number_of_epochs_of_observation_data_to_use_for_filtering |
3 | 将使用多少个周期的 API 使用情况数据(即主题观测结果)来过滤调用上下文的主题。 |
BrowsingTopics:max_number_of_api_usage_context_domains_to_keep_per_topic |
1000 | 为每个热门主题保留的 observed-by 上下文网域数量上限。目的是限制正在使用的内存。 |
BrowsingTopics:max_number_of_api_usage_context_entries_to_load_per_epoch |
100000 | 允许从数据库中检索的条目数量上限,适用于 API 使用情况上下文的每个查询。查询将在主题计算时每个周期执行一次。目的是限制内存使用峰值。 |
BrowsingTopics:max_number_of_api_usage_context_domains_to_store_per_page_load |
30 | 每次网页加载时允许存储的 API 使用情况上下文网域数量上限。 |
BrowsingTopics:config_version |
1 | 对 Topics API 配置参数进行编码。每个版本号都应仅映射到一个配置集。在不更新 config_version 的情况下更新配置参数通常适用于本地测试,但在某些情况下可能会导致浏览器处于不一致的状态,并可能导致浏览器崩溃,例如更新 number_of_top_topics_per_epoch。 |
BrowsingTopics:taxonomy_version |
1 | API 使用的分类版本。 |
开始实施之前的准备工作
在开始实现之前,建议您先查看以下资源,以便熟悉 Topics API。
- 查看开发者文档:
- 了解在未来(届时将有越来越多的用户无法使用第三方 Cookie)支持广告相关性方面,该 API 将发挥怎样的作用。
- 如需接收有关 API 状态变更的通知,请加入开发者邮寄名单,并随时关注 Topics 的最新动态。
- 在 GitHub 问题或 W3C 通话中参与讨论。
- 如果您遇到不熟悉的术语,请查看 Privacy Sandbox 词汇表。
- 如需详细了解 Chrome 概念(例如 Chrome 标志),请查看 goo.gle/cc 提供的短视频和文章。