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 的解决方案。