Anzeigenauktion auf der Publisher-Seite einrichten

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:

  1. 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.
  2. 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.
  3. 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