Informationen zum Konfigurieren einer Protected Audience API-Auktion.
Von Verkäufern durchgeführte On-Device-Auktionen
Eine Protected Audience-Auktion auf dem Gerät wird auf einer Website durchgeführt, auf der Werbeflächen verkauft werden. die die Auktion durchführt, als Verkäufer bezeichnet. Viele Parteien agieren Verkäufer: Eine Website führt eine eigene Anzeigenauktion durch oder enthält oder eine SSP, die eine Kombination aus On-Device-Auktionen mit anderen serverseitigen Auktionsaktivitäten kombinieren. Verkäufer haben drei grundlegende Aufgaben in der On-Device-Anzeigenauktion:
- Die Verkäufer entscheiden, (a) welche Käufer teilnehmen dürfen und (b) welches Gebot dieser Käufer an der Auktion teilnehmen. Dadurch können der Verkäufer durchsetzt, welche Anzeigen auf der Website Seite.
- Verkäufer sind für die Geschäftslogik der Auktion verantwortlich: JavaScript Code, der den Preis und die Metadaten jedes Gebots berücksichtigt und eine „Erwünschtheit“ Punkte. Das Gebot mit dem höchsten Wert für wünschenswerter Wert gewinnt den Auktion.
- Die Verkäufer erstellen Berichte zum Auktionsergebnis, einschließlich Informationen zu Abrechnungspreis und andere Auszahlungen. Die erfolgreichen und unterlegenen Käufer um eigene Berichte zu erstellen.
In diesem Dokument wird erläutert, wie Sie eine On-Device-Auktion konfigurieren und initiieren.
Protected Audience API-Anzeigenauktion konfigurieren
Für eine Protected Audience API-Anzeigenauktion müssen Sie zuerst
konfigurieren Sie die Auktion. Dazu wird ein auctionConfig
-Objekt erstellt.
Hier ist ein Beispiel für eine solche Konfiguration:
const auctionConfig = {
seller: 'https://seller.example',
decisionLogicUrl: ...,
trustedScoringSignalsUrl: ...,
interestGroupBuyers: ['https://buyer-1.example', 'https://buyer-2.example', ...],
auctionSignals: {...},
sellerSignals: {...},
sellerTimeout: 100,
perBuyerSignals: {
'https://buyer-1.example': {...},
'https://buyer-2.example': {...},
...
},
perBuyerTimeouts: {
'https://buyer-1.example': 50,
'https://buyer-2.example': 200,
'*': 150,
...
},
componentAuctions: [
{
'seller': 'https://component-seller.example',
'decisionLogicUrl': ...,
...
},
...
],
resolveToConfig: [true|false],
};
AuctionConfig
Unterkünfte
Erforderliche Properties
Die einzigen erforderlichen Attribute für auctionConfigs
sind seller
,
decisionLogicUrl
und interestGroupBuyers
.
Attribut | Beispiel | Rolle |
---|---|---|
seller | https://seller.example | Herkunft des Verkäufers. |
decisionLogicUrl | https://seller.example/decision-logic.js | URL für das JavaScript-Entscheidungslogik-Worklet für Auktionen. Dieses Feld muss denselben Ursprung haben wie das Feld „Verkäufer“. |
interestGroupBuyers | [https://buyer-1.beispiel, https://buyer-2.beispiel, ...] |
Herkunft aller Interessengruppeninhaber, die in der Auktion ein Gebot abgeben möchten |
Optionale Attribute
Die verbleibenden Attribute für auctionConfigs
sind optional.
Attribut | Beispiel | Rolle |
---|---|---|
trustedScoringSignalsUrl | https://seller.example/scoring-signals | URL des Schlüssel/Wert-Servers des Verkäufers. Diese wird während der Anzeigenbewertung mit der Rendering-URL des Creatives als Schlüssel abgefragt. Dieses Feld muss denselben Ursprung haben wie das Feld „Verkäufer“. |
auctionSignals | {"category":"news"} | Serialisierbares JSON-Objekt, das die Signale darstellt, die allen Käufern und Verkäufern, die an der Auktion teilnehmen, zur Verfügung stehen. |
sellerSignals | {...} | Serialisierbares JSON-Objekt, das Signale darstellt, die nur für die Verkäufer verfügbar sind. |
perBuyerSignals | {https://dsp.beispiel: {...}, https://another-buyer.example: {...}, ... } |
Signale, die für einen bestimmten Käufer verfügbar sind. Die Signale können von den Verkäufern und auch von den Käufern selbst stammen. |
perBuyerTimeouts | {https://www.example-dsp.com: 50, https://www.anderer-käufer.de: 200, *: 150, ...}, |
Maximale Laufzeit in Millisekunden des SkriptsgenerateBid() eines bestimmten Käufers. Für jeden Käufer, für den kein bestimmtes Zeitlimit definiert ist, wird ein Platzhaltersymbol angewendet. |
sellerTimeout | 100 | Maximale Laufzeit des ScoreAd()-Skripts eines Verkäufers in Millisekunden. |
componentAuctions | [{seller: https://www.some-other-ssp.com, decisionLogicUrl: ..., ...}, ...] | Zusätzliche Konfigurationen für Komponentenauktionen |
resolveToConfig | wahr|falsch | Ein boolescher Wert, der das von runAdAuction() zurückgegebene Versprechen anweist, in ein FencedFrameConfig-Objekt aufgelöst zu werden, falls der Wert wahr ist (zur Verwendung in einem <fencedframe>), oder in eine undurchsichtige urn:uuid-URL, falls false (zur Verwendung in einem <iframe>). Die Standardeinstellung ist „false“. |
Signale asynchron bereitstellen
Die Werte einiger Signale (die von auctionSignals
konfiguriert wurden,
sellerSignals
, perBuyerSignals
und perBuyerTimeouts
) kann
optional nicht als konkrete Werte, sondern als Promise-Objekte angegeben werden. Dies ermöglicht
wie das Laden von Skripts und vertrauenswürdigen Signalen
Einführung isolierter Worklet-Prozesse, um die Berechnung (oder
Abruf) dieser Werte. Die Worklet-Skripts sehen nur die aufgelösten
Werte; Wird ein Promise abgelehnt, wird die Auktion abgebrochen, es sei denn,
bereits scheitert oder auf andere Weise abgebrochen wird.
Auktion mit mehreren Verkäufern konfigurieren
In einigen Fällen möchten mehrere Verkäufer an einer Auktion teilnehmen, wobei
die Gewinner separater Auktionen, die an eine andere Auktion übergeben werden, die von einer anderen durchgeführt wird.
Verkäufer. Diese separaten Auktionen werden als Komponentenauktionen bezeichnet.
Zur Vereinfachung dieser Komponentenauktionen kann das componentAuctions
-Objekt Folgendes enthalten:
Zusätzliche Auktionskonfigurationen für die Komponentenauktion der einzelnen Verkäufer. Die
das erfolgreiche Gebot jeder dieser Komponentenauktionen
"oberste Ebene" , wodurch die Auktion endgültig bestimmt wird. Die
auctionConfig
der Komponentenauktionen haben möglicherweise keine eigene
componentAuctions
. Wenn componentAuctions
nicht leer ist, gilt:
interestGroupBuyers
muss leer sein. Das heißt, für bestimmte Protected
Zielgruppenauktion: Entweder gibt es einen einzelnen Verkäufer und keine Komponentenauktionen.
Andernfalls stammen alle Gebote aus Komponentenauktionen.
aus den Komponentenauktionen auswählen, zu den Gewinnern.
Auktion durchführen
Der Verkäufer sendet eine Anfrage an den Browser des Nutzers, um eine Anzeigenauktion zu starten, indem er
navigator.runAdAuction()
wird angerufen.
try {
const auctionResultPromise = navigator.runAdAuction(auctionConfig);
} catch (error) {
// Handle error.
}
Der runAdAuction()
-Aufruf gibt ein Promise zurück, das der Anzeige zugeordnet wird. Es ist nicht
damit jeder Code auf der Publisher-Seite die
erfolgreiche Anzeige überprüfen kann.
Andernfalls erfahren Sie aus dem Ergebnis von runAdAuction()
mehr über seinen Inhalt. Wenn die
Das Flag resolveToConfig
wurde im AuctionConfig
auf „true“ gesetzt,
Ein FencedFrameConfig
-Objekt wird zurückgegeben, das nur in einem abgegrenzten Format gerendert werden kann.
Frame. Wurde das Flag auf „false“ gesetzt, wird eine opake URN zurückgegeben, die sich
die in einem iFrame gerendert werden. Es ist möglich, dass runAdAuction
einen Nullwert zurückgibt,
, dass keine Anzeige ausgewählt wurde. In diesem Fall kann der Verkäufer
eine kontextbezogene Anzeige rendern