Topics API の設定

Topics API を使用してウェブ アプリケーションを使用、テスト、開発するための環境を準備します。

を有効にすると、登録しなくても Topics API コードをローカルでテストできます。

ローカルでのビルドとテスト

このセクションでは、個々のデベロッパーとして Topics API を試すためのローカル環境を設定する方法について説明します。実装に入る前に、デモで Topics の仕組みを確認することをおすすめします。

ブラウザで Topics を有効にする

ローカル テスト用に独自の Chrome インスタンスで Topics API を有効にするには、次の 2 つの方法があります。

  1. chrome://settings/adPrivacy で広告プライバシー API をすべて有効にします。
  2. (推奨)Topics API 固有のパラメータを使用して、Chromium フラグを指定してコマンドラインから Chrome を実行し、必要に応じて構成します。コマンドラインから Chrome を実行することで、トピック機能をより細かく制御できます。たとえば、トピック エポック(API がユーザーの興味関心を計算するために使用する期間)を設定したり、ニーズに合わせて API の動作を構成したりできます。

主な推奨事項

  1. フラグを使用して新しいプロセスを開始する前に、すべての Chrome プロセスを閉じて停止してください。
  2. chrome://settings/adPrivacy で広告のプライバシー API がすべて有効になっていることを確認します。
  3. API が想定どおりに動作しない場合は、トラブルシューティングのヒントをお試しください。
  4. ご不明な点がある場合は、説明ツールの GitHub の問題をご確認ください。

Chrome フラグで 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 無効 プライバシー サンドボックス UI 設定の第 4 リリースを有効にします。
OverridePrivacySandboxSettingsLocalTesting 有効 有効にすると、ブラウザでプライバシー サンドボックス機能を有効にするために、基盤となる設定を有効にする必要がなくなります。
BrowsingTopicsBypassIPIsPubliclyRoutableCheck 無効 有効にすると、ページがトピックの計算に含まれる資格を判断する際に、IP アドレスが公開ルーティング可能かどうかを確認する処理がバイパスされます。
BrowsingTopics:number_of_epochs_to_expose 3 リクエスト元のコンテキストに提供するトピックを計算するエポックの数。ブラウザは内部的に最大 N+1 エポックを保持します。
BrowsingTopics:time_period_per_epoch 7d-0h-0m-0s 各エポックの期間。デバッグでは、デフォルトの 7 日ではなく、15 秒などに設定すると便利です。
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 使用コンテキストのクエリごとにデータベースから取得できるエントリの最大数。クエリは、トピックの計算時にエポックごとに 1 回実行されます。ピーク時のメモリ使用量を制限することを目的としています。
BrowsingTopics:max_number_of_api_usage_context_domains_to_store_per_page_load 30 1 回のページ読み込みで保存可能な API 使用コンテキスト ドメインの上限数。
BrowsingTopics:config_version 1 Topics API の構成パラメータをエンコードします。各バージョン番号は 1 つの構成セットにのみマッピングする必要があります。通常、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. 不明な用語が出てきた場合は、プライバシー サンドボックスの用語集をご覧ください。
  6. Chrome のフラグなどの Chrome のコンセプトについて詳しくは、goo.gle/cc で公開されている短い動画や記事をご覧ください。

次のステップ

呼び出し元がトピックをオブザーバブルにしてアクセスするための実装の詳細とコードサンプルを確認します。
Topics ベースのソリューションをデプロイ、テスト、スケーリングする方法を学びます。