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()
で代替することをお勧めします。
構文
browsingTopics()
browsingTopics(options)
引数
options
省略可-
以下のプロパティを持つオプションオブジェクトです。
skipObservation
-
論理値。
true
に設定すると、browsingTopics()
を呼び出したときにブラウザーがトピックを監視しないようになります。既定ではfalse
で、トピックを監視します。
返値
最大 3 つのオブジェクトの配列で履行された Promise
で、現在のユーザーが選択した直近 3 世代のトピックを表します。各オブジェクトは以下のプロパティを格納します。
configVersion
-
文字列で、トピックを計算するために使用するアルゴリズム(モデル部分以外)を識別します。
modelVersion
-
文字列で、(ウェブページのホスト名などの)文字列をトピック ID に分類するために使用するモデルを表します。
taxonomyVersion
-
文字列で、使用するタクソノミーのバージョンを表します。
topic
-
数値で、ブラウザーがタクソノミーからトピックを検索するために使用することができる、トピックの ID を表します(興味のタクソノミーの例を参照)。
version
-
configVersion
、modelVersion
,taxonomyVersion
のそれぞれにコロン (:
) を挟んだものです。
正確なプロパティ値は、ブラウザー実装によって異なる場合があります。Chrome のオブジェクト例は以下のようになります:
{
configVersion: "chrome.1",
modelVersion: "1",
taxonomyVersion: "1",
topic: 43,
version: "chrome.1:1:1"
}
例外
NotAllowedError
DOMException
-
以下の場合に発生します。
- トピック APIの使用が
browsing-topics
権限ポリシーによって不許可になっていた場合。 - 呼び出されたウェブサイトに、成功したプライバシーサンドボックスの登録プロセスにに含まれるトピック API がない場合。
- トピック APIの使用が
例
// 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