このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Document: browsingTopics() メソッド

Deprecated
To be removed

This feature is pending removal from browsers. Using it now may lead to broken functionality in future updates. Following the announcement that Chrome will maintain its current approach to third-party cookies, Chrome decided to withdraw certain Privacy Sandbox features including the topics API.

非標準: この機能は標準化されていません。非標準の機能はブラウザーの対応が限られ、将来的に変更または削除される可能性があるため、本番環境での使用は推奨されません。ただし、標準の選択肢が存在しない特定のケースでは、有効な代替手段となる場合があります。

警告: この機能は現在2つのブラウザーベンダーによって反対されています。反対の詳細については下記の標準の位置づけの節を参照してください。

メモ: アプリケーションでこの機能を使用するには、登録プロセスが要求されます。

browsingTopics()Document インターフェイスのメソッドで、ユーザーのトップトピックを表すオブジェクトの配列で履行されるプロミスを返します。これらのトピックは、その後のフェッチリクエストで広告技術プラットフォームに返すことができます。既定では、このメソッドは呼び出し側が監視する現在のページ訪問をブラウザーに記録するので、ページのホスト名を後でトピックの計算に使用することができます。

詳しくはトピック API の使用を参照してください。

メモ: browsingTopics() は他のトピック API を有効にする機能のように HTTP ヘッダーに頼ってトピックを送信したり、トピックを監視対象としてマークしたりすることはしませんが、パフォーマンスは少し落ちます。HTTP ヘッダーを使用する機能を使用し、ヘッダーを変更できない場合にのみ browsingTopics() で代替することをお勧めします。

構文

js
browsingTopics()
browsingTopics(options)

引数

options 省略可

以下のプロパティを持つオプションオブジェクトです。

skipObservation

論理値。true に設定すると、browsingTopics() を呼び出したときにブラウザーがトピックを監視しないようになります。既定では false で、トピックを監視します。

返値

最大 3 つのオブジェクトの配列で履行された Promise で、現在のユーザーが選択した直近 3 世代のトピックを表します。各オブジェクトは以下のプロパティを格納します。

configVersion

文字列で、トピックを計算するために使用するアルゴリズム(モデル部分以外)を識別します。

modelVersion

文字列で、(ウェブページのホスト名などの)文字列をトピック ID に分類するために使用するモデルを表します。

taxonomyVersion

文字列で、使用するタクソノミーのバージョンを表します。

topic

数値で、ブラウザーがタクソノミーからトピックを検索するために使用することができる、トピックの ID を表します(興味のタクソノミーの例を参照)。

version

configVersionmodelVersiontaxonomyVersion のそれぞれにコロン (:) を挟んだものです。

正確なプロパティ値は、ブラウザー実装によって異なる場合があります。Chrome のオブジェクト例は以下のようになります:

json
{
  "configVersion": "chrome.1",
  "modelVersion": "1",
  "taxonomyVersion": "1",
  "topic": 43,
  "version": "chrome.1:1:1"
}

例外

NotAllowedError DOMException

以下の場合に発生します。

js
// Get an array of top topics for this user
const topics = await document.browsingTopics();

// Request an ad creative
const response = await fetch("https://ads.example/get-creative", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify(topics),
});

// Get the JSON from the response
const creative = await response.json();

// Display ad

仕様書

この機能は Topics API Unofficial Proposal Draft で定義されていますが、公式の標準には属しません。

ブラウザーの互換性

関連情報