Dokumentation: browsingTopics() Methode
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Nicht standardisiert: Diese Funktion ist nicht standardisiert und befindet sich nicht auf dem Weg zur Standardisierung. Verwenden Sie sie nicht auf Produktionsseiten, die dem Web ausgesetzt sind: Sie funktioniert nicht für alle Benutzer. Es kann auch große Inkompatibilitäten zwischen Implementierungen geben, und das Verhalten kann sich in Zukunft ändern.
Warnung: Dieses Feature wird derzeit von zwei Browseranbietern abgelehnt. Siehe den Abschnitt Standards Positionen unten für Details zur Ablehnung.
Hinweis: Ein Registrierungsprozess ist erforderlich, um dieses Feature in Ihren Anwendungen zu nutzen.
Die browsingTopics()
Methode des Document
Interfaces gibt ein Promise
zurück, das mit einem Array von Objekten erfüllt wird, die die Hauptthemen des Benutzers darstellen, eines aus jeder der letzten drei Epochen. Diese Themen könnten dann in einer nachfolgenden Fetch-Anfrage an die Werbetechnologie-Plattform zurückgegeben werden. Standardmäßig bewirkt die Methode auch, dass der Browser den aktuellen Seitenbesuch aufzeichnet, wie vom Aufrufer beobachtet, sodass der Hostname der Seite später in der Themenberechnung verwendet werden kann.
Weitere Details finden Sie unter Verwendung der Topics API.
Hinweis: browsingTopics()
verlässt sich nicht auf HTTP-Header, um Themen zu senden und als beobachtet zu kennzeichnen, wie die anderen Topics API aktivierenden Features, aber es ist etwas weniger performant. Es wird empfohlen, eines der HTTP-Header-verwendenden Features zu nutzen und auf browsingTopics()
nur in Situationen zurückzugreifen, in denen die Header nicht modifiziert werden können.
Syntax
browsingTopics()
browsingTopics(options)
Parameter
options
Optional-
Ein Optionsobjekt, das folgende Eigenschaften enthalten kann:
skipObservation
-
Ein boolescher Wert, der, wenn auf
true
gesetzt, bewirkt, dass der Browser Themen nicht beobachtet, wennbrowsingTopics()
aufgerufen wird. Der Standardwert istfalse
, was bewirkt, dass Themen beobachtet werden.
Rückgabewert
Ein Promise
, das mit einem Array von bis zu drei Objekten erfüllt wird, die die aktuell ausgewählten Themen des Benutzers für die letzten drei Epochen darstellen. Jedes Objekt enthält die folgenden Eigenschaften:
configVersion
-
Ein String, der den Algorithmus (außer dem Modellteil) identifiziert, der zur Berechnung des Themas verwendet wird.
modelVersion
-
Ein String, der das Modell repräsentiert, das verwendet wird, um eine Zeichenkette (wie den Hostnamen einer Webseite) in Themen-IDs zu klassifizieren.
taxonomyVersion
-
Ein String, der die verwendete Taxonomie-Version repräsentiert.
topic
-
Eine Zahl, die die ID des Themas darstellt, die vom Browser verwendet werden kann, um das Thema aus der Taxonomie abzurufen (siehe ein Beispiel für eine Interessen-Taxonomie).
version
-
Die
configVersion
,modelVersion
undtaxonomyVersion
, mit Doppelpunkten (:
) zwischen jedem verkettet.
Die genauen Eigenschaftswerte können je nach Browserimplementierung variieren. Ein Beispielobjekt aus Chrome könnte folgendermaßen aussehen:
{
"configVersion": "chrome.1",
"modelVersion": "1",
"taxonomyVersion": "1",
"topic": 43,
"version": "chrome.1:1:1"
}
Ausnahmen
NotAllowedError
DOMException
-
Ausgelöst wenn:
- Die Verwendung der Topics API durch eine
browsing-topics
Berechtigungsrichtlinie nicht erlaubt ist. - Die aufrufende Seite die Topics API nicht in einem erfolgreichen Privacy Sandbox Registrierungsprozess enthalten hat.
- Die Verwendung der Topics API durch eine
Beispiele
// 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
Spezifikationen
Dieses Feature ist nicht Teil eines offiziellen Standards, obwohl es im Topics API Unofficial Proposal Draft spezifiziert ist.