Document: browsingTopics() メソッド

io error: No such file or directory (os error 2) (/home/runner/work/yari/yari/mdn/translated-content/files/ja/web/api/topics_api/index.md)

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

非標準: この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

警告: この機能は現在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 のオブジェクト例は以下のようになります:

js
{
  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 で定義されていますが、公式の標準には属しません。

ブラウザーの互換性

BCD tables only load in the browser

関連情報