Topics API 设置

准备好环境,以便使用 Topics API 来使用、测试和开发 Web 应用。

在本地构建和测试

本部分介绍了如何设置本地环境,以便个人开发者试用 Topics API。建议您先探索演示,了解 Topics 的运作方式,然后再深入了解实现。

在浏览器中启用 Topics

如需在您自己的 Chrome 实例中启用 Topics API 以进行本地测试,您有以下两种选择:

  1. 启用 chrome://settings/adPrivacy 下的所有广告隐私权 API。
  2. (推荐)使用 Chromium 标志通过命令行运行 Chrome,并使用 Topics API 特有的参数根据需要进行配置。通过从命令行运行 Chrome,您可以更精细地控制 Topics 功能。例如,您可以设置 Topics epoch(API 用于计算用户兴趣的时间范围),并根据需要配置 API 的行为。

主要建议

  1. 请务必先关闭并停止所有 Chrome 进程,然后再使用标志启动新进程。
  2. 确保所有广告隐私权 API 均已在 chrome://settings/adPrivacy 下启用。
  3. 如果该 API 无法按预期运行,请尝试我们的问题排查提示。
  4. 如果您有任何疑问,请查看解说器的 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。

  1. 查看开发者文档:
    1. 了解 Topics API 的用途及其在基于兴趣的广告中的作用
    2. 了解 Topics 在网络上的运作方式。
    3. 您可以试用演示,并观看 Topics 演示、Colab 和工具演示视频。
    4. 派生演示并从您自己的网站运行它们。
    5. 请阅读 API 说明,了解更多详情。
  2. 了解在未来(届时将有越来越多的用户无法使用第三方 Cookie)支持广告相关性方面,该 API 将发挥怎样的作用。
  3. 如需接收有关 API 状态变更的通知,请加入开发者邮寄名单,并随时关注 Topics 的最新动态。
  4. 在 GitHub 问题或 W3C 通话中参与讨论。
  5. 如果您遇到不熟悉的术语,请查看 Privacy Sandbox 词汇表。
  6. 如需详细了解 Chrome 概念(例如 Chrome 标志),请查看 goo.gle/cc 提供的短视频和文章。

后续步骤

请查看实现详情和代码示例,了解调用方如何观察和访问主题。
了解如何部署、测试和扩缩基于 Topics 的解决方案。