Architektura

Poznaj architekturę aukcji w usługach określania stawek i aukcji

Przegląd

Usługi określania stawek i aukcji to zestaw usług dla kupujących i sprzedających reklamy, które działają w zaufanym środowisku wykonawczym (TEE), aby ułatwić przeprowadzenie aukcji z użyciem Protected Audience (PA). Na tej stronie opisujemy różne konfiguracje aukcji, w których można używać funkcji B&A na aukcji PA.

Definicje

Termin Opis
aukcja z Protected Audience API, Aukcja reklamowa, która obejmuje dane z różnych witryn
Aukcja kontekstowa Aukcja reklam, która nie obejmuje danych z różnych witryn. Ta aukcja przebiega zgodnie z dotychczasową ścieżką aukcji określania stawek w czasie rzeczywistym (RTB).
Żądanie ujednoliconej aukcji Żądanie wysłane przez kod JavaScript sprzedawcy z przeglądarki, które zawiera ładunek zarówno na potrzeby aukcji Protected Audience, jak i aukcji kontekstowej.
Usługa reklamowa sprzedawcy (SAS) Usługa odpowiedzialna za obsługę żądania aukcji ujednoliconej z przeglądarki. Może to być dotychczasowy serwer reklam RTB sprzedawcy. SAS odpowiada za koordynowanie aukcji kontekstowych i aukcji Protected Audience.
Usługa reklamowa dla kupujących Usługa odpowiedzialna za przesyłanie stawki w aukcji kontekstowej. Może to być dotychczasowy serwer reklam ORTB kupującego.

Usługi dla kupujących i sprzedawców

Usługi B&A obejmują 4 usługi dla kupujących i sprzedających:

  • Kupujący mogą korzystać z usługi ustalania stawekusługi frontendu kupującego (BFE).
  • Sprzedawcy mogą korzystać z usługi aukcyjnejusługi interfejsu sprzedawcy.
Uczestnik Usługa Opis
Osoba odpowiadająca za zakupy Usługa interfejsu kupującego Usługa obsługuje GetBids żądanie z SFE sprzedawcy. Odpowiada za odszyfrowanie ładunku, pobranie sygnałów K/V i wywołanie funkcji GenerateBids usługi licytacyjnej.
Usługa określania stawek Usługa obsługuje żądanie GenerateBidsBFE. Odpowiada za uruchamianie logiki określania stawek kupującego i generowanie stawki.
Sprzedawca Usługa interfejsu sprzedawcy (SFE) Usługa obsługuje żądanie SelectAdusługi reklam sprzedawcy. Jest odpowiedzialny za odszyfrowanie ładunku, wywołanie operacji GetBids BFE, pobranie sygnałów K/V, wywołanie operacji ScoreAd usługi aukcyjnej, a następnie zwrócenie zaszyfrowanego wyniku aukcji B&A do SAS.

Jeśli usługa jest częścią stosu sprzedawcy najwyższego poziomu w aukcji z udziałem wielu sprzedawców zarządzanej przez serwer, obsługuje też GetComponentAuctionCiphertexts żądanie z SAS.

Serwis aukcyjny Usługa obsługuje żądanie ScoreAdSFE. Jest ona odpowiedzialna za uruchamianie logiki oceny sprzedawcy i podawanie oceny atrakcyjności stawki.

Architektura aukcji PA B&A w przypadku internetu

Poniższy diagram przedstawia podstawową aukcję Protected Audience z usługami B&A z 1 sprzedawcą i 1 kupującym. Grube czerwone ramki oznaczają usługi działające w TEE:

Kod JavaScript po stronie klienta wysyła do platformy SSP żądanie zunifikowanej aukcji. SAS wysyła żądanie do SFE, a SFE wysyła żądanie do BFE dotyczące stawki.
(Diagram w pełnym rozmiarze)
  1. Kod JavaScript platformy SSP na stronie wydawcy generuje zaszyfrowane dane aukcji reklam B&A, wywołując funkcję navigator.getInterestGroupAdAuctionData().
    • Ten zaszyfrowany ładunek zawiera dane kupującego i może zostać odszyfrowany tylko w SFE w TEE.
  2. Kod JavaScript platformy SSP wysyła do usługi reklamowej sprzedawcy żądanie zunifikowanej aukcji.
    • Żądanie aukcji ujednoliconej zawiera zarówno ładunek aukcji kontekstowej w formacie ORTB w postaci zwykłego tekstu, jak i zaszyfrowany ładunek aukcji B&A.
    • Usługa reklamowa sprzedawcy to Twój dotychczasowy serwer reklam, który nie działa w środowisku TEE.
  3. Usługa reklam sprzedawcy wywołuje usługę RTB platformy DSP, aby poprosić o stawkę w aukcji kontekstowej i wszelkie sygnały kupującego, które mają zostać przekazane do kolejnej aukcji PA.
    • Może to być krok, w którym kupujący sygnalizuje zamiar wzięcia udziału w aukcji prywatnej.
  4. Po zakończeniu aukcji kontekstowej SAS wysyła żądanie SelectAd do usługi SFE.
    • Do ładunku żądania SelectAd dodawane są sygnały kupującego i stawka wygrywająca aukcję kontekstową.
  5. Usługa SFE platformy SSP wywołuje usługę BFE platformy DSP z żądaniem GetBids.
  6. BFE platformy DSP wywołuje usługę ustalania stawek za pomocą żądania GenerateBids.
  7. Gdy SFE otrzyma stawkę, wywoła usługę aukcyjną za pomocą wywołania ScoreAd.
    • Stawka z najwyższym wynikiem atrakcyjności jest zwracana do SAS, a następnie przekazywana do kodu JavaScript na stronie.
  8. Aukcja jest kończona w przeglądarce przez przekazanie zaszyfrowanego wyniku aukcji B&A do wywołania navigator.runAdAuction().

Konfiguracje aukcji

Aukcję Protected Audience z usługami B&A można skonfigurować w ten sposób:

  • Aukcja pojedynczego sprzedawcy z kupującymi z B&A
  • Aukcja w trybie mieszanym z kupującymi na urządzeniach i kupującymi w usługach B&A
  • Aukcja wielu sprzedawców, która może być koordynowana przez urządzenie lub serwer

Uczestnicy

Aby opisać każdą konfigurację aukcji, w tym przewodniku używamy tych uczestników:

Uczestnik Opis
DSP-A Kupujący na urządzeniu
DSP-B Kupujący na urządzeniu
DSP-X Kupujący B&A
DSP-Y Kupujący B&A
SSP-TOP Sprzedawca najwyższego poziomu
SSP-OD Sprzedawca oferujący tylko produkty na urządzeniu
SSP-BA Sprzedawca korzystający tylko z usługi B&A
SSP-MIX Sprzedawca w trybie mieszanym

Dostępne są 4 platformy DSP:

  • DSP-A i DSP-B uczestniczą tylko w aukcjach na urządzeniu
  • DSP-XDSP-Y uczestniczą zarówno w aukcjach na urządzeniu, jak i w aukcjach typu „kupujący i sprzedający”.

Są 4 platformy SSP, a każdy sprzedawca stosuje inną konfigurację aukcji:

  • SSP-OD przeprowadza aukcję tylko na urządzeniu.
  • SSP-BA przeprowadza aukcję tylko z licytowaniem ceny minimalnej.
  • SSP-MIX przeprowadza aukcję w trybie mieszanym.
  • SSP-TOP prowadzi aukcję wielu sprzedawców:
    • SSP-OD/BA/MIX uczestniczyć jako sprzedawcy komponentów w aukcji wielu sprzedawców SSP-TOP;

Aukcja B&A pojedynczego sprzedawcy

W konfiguracji z jednym sprzedawcą aukcję prowadzi jeden sprzedawca, w której uczestniczy wielu kupujących. Jeśli sprzedawca prowadzi aukcję B&A, kupujący muszą korzystać z pakietu usług B&A dla kupujących, aby przesłać ofertę na aukcję. Kupujący i sprzedawcy nie muszą korzystać z tego samego dostawcy usług w chmurze.

Architektura pojedynczego sprzedawcy, w której jeden SFE komunikuje się z wieloma BFE w celu otrzymywania stawek.
(Diagram w pełnym rozmiarze)

W powyższej konfiguracji SSP-BA przeprowadza aukcję B&A, w której uczestniczą DSP-XDSP-Y, korzystając ze stosu kupującego usług B&A. Usługa reklamowa sprzedawcy najpierw przeprowadza aukcję kontekstową dla DSP-XDSP-Y, a potem przeprowadza aukcję z użyciem Protected Audience API, wysyłając żądanie SelectAd do usługi SFE sprzedawcy. Zwycięska stawka w aukcji kontekstowej i sygnały dla każdego kupującego są przekazywane do wywołania SelectAd. Następnie usługa SFE wysyła żądania GetBids do usług BFE dostawców DSP-XDSP-Y, które wywołują usługę ustalania stawek, aby wygenerować stawkę.

Zaszyfrowany wynik aukcji B&A jest zwracany do klienta i przekazywany do wywołania runAdAuction(). Konfiguracja aukcji z 1 sprzedawcą wygląda tak:

await navigator.runAdAuction({
  seller: 'https://ssp-ba.example',
  requestId: 'g8312cb2-da2d-4e9b-80e6-e13dec2a581c',
  serverResponse: Uint8Array(560) [193, 120, 4, ] // Encrypted B&A auction result
})

Wartość requestId pochodzi z wywołania getInterestGroupAdAuctionData() po stronie klienta, a dane serverResponse pochodzą z aukcji B&A po stronie serwera.

Aukcja w trybie mieszanym

W konfiguracji w trybie mieszanym kupujący mogą brać udział w aukcji sprzedawcy na urządzeniu lub w ramach B&A. Niebieskie strzałki oznaczają ścieżkę aukcji na urządzeniu, a czerwone – ścieżkę aukcji B&A:

Architektura sprzedawcy w trybie mieszanym, w której kupujący mogą przesyłać stawki z urządzenia lub z platformy B&A.
(Diagram w pełnym rozmiarze)

W tej konfiguracji kupujący DSP-ADSP-B przesyłają stawki na urządzeniu, a kupujący DSP-XDSP-Y przesyłają stawki za pomocą platformy B&A. Kupujący na urządzeniu biorą udział w aukcji PA na urządzeniu w przeglądarce, a kupujący B&A biorą udział w aukcji B&A opisanej w sekcji Aukcja z 1 sprzedawcą.

Aukcja kontekstowa jest przeprowadzana w pierwszej kolejności dla wszystkich kupujących, aby zebrać zwycięską stawkę aukcji kontekstowej i sygnały kupującego. Następnie przeprowadzana jest aukcja B&A, a sygnały kupującego z aukcji kontekstowej są przekazywane do żądania SelectAd wysyłanego do SFE. Zaszyfrowany wynik aukcji B&A zwrócony z SFE jest przekazywany do przeglądarki. Po aukcji B&A jej wynik jest przekazywany do aukcji na urządzeniu, w której biorą udział kupujący na urządzeniu.

Konfiguracja aukcji w trybie mieszanym dla jednego sprzedawcy na potrzeby części aukcji odbywającej się na urządzeniu wygląda podobnie do tej poniżej:

await navigator.runAdAuction({
  seller: 'https://ssp-mix.example',
  decisionLogicURL: 'https://ssp-ba.example/score-ad.js',
  componentAuctions: [
    // B&A auction
    {
      seller: 'https://ssp-mix.example',
      requestId: 'f5135cb2-da2d-4e9b-80e6-e13dec2a581c',
      serverResponse: Uint8Array(560) [133, 20, 14, ]
    },
    // On-device auction
    {
      seller: 'https://ssp-mix.example',
      interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'],
      decisionLogicURL: 'https://ssp-mix.example/on-device-score-ad.js',
    }
  ]
})

Równoległe przeprowadzanie aukcji na urządzeniu i aukcji B&A

Bez równoległego przetwarzania aukcje są przeprowadzane kolejno: najpierw aukcja kontekstowa, potem aukcja B&A, a na końcu aukcja na urządzeniu. Po wdrożeniu równoległego przetwarzania najpierw ponownie przeprowadzana jest aukcja kontekstowa, ale jej wynik i sygnały są przesyłane z powrotem do klienta, aby równolegle rozpocząć aukcję na urządzeniu, zanim zakończy się aukcja B&A.

Diagram opisujący, jak stawka w aukcji kontekstowej, sygnały i wynik SelectAd są przesyłane z powrotem do kodu JavaScript przeglądarki
(Diagram w pełnym rozmiarze)

Kod JavaScript na urządzeniu klienta wysyła do SAS żądanie zunifikowanej aukcji, a SAS rozpoczyna aukcję kontekstową oraz aukcję B&A dotyczącą reklam spersonalizowanych. Gdy SAS otrzyma odpowiedź z serwera RTB kupującego, sygnały kupującego dotyczące aukcji na urządzeniu mogą być przesyłane z powrotem do przeglądarki wraz ze zwycięzcą aukcji kontekstowej po otrzymaniu wszystkich stawek. Sygnały kupujących przesyłane strumieniowo są używane do generowania stawki na urządzeniu, a zwycięzca aukcji kontekstowej jest używany jako wartość bazowa stawki podczas oceniania stawek.

W przypadku SAS sprzedawca generuje UUID nonce, który jest ustawiany w nagłówku odpowiedzi Ad-Auction-Result-Nonce podczas przesyłania strumieniowego danych aukcji kontekstowej do przeglądarki. Ta sama wartość jednorazowa jest używana w wywołaniu SelectAd do SFE na potrzeby aukcji B&A i jest uwzględniana w zwracanej odpowiedzi SelectAd z SFE. Podczas fazy aukcji po stronie klienta przeglądarka sprawdza, czy wartość nonce w nagłówku odpowiedzi Ad-Auction-Result-Nonce jest zgodna z wartością nonce w zaszyfrowanym ładunku wyniku aukcji.

Więcej informacji o równoległości w trybie mieszanym znajdziesz w tym wyjaśnieniu.

Aukcja wielu sprzedawców

Aukcję PA z wieloma sprzedawcami można przeprowadzić na 2 sposoby:

  1. Aukcja koordynowana przez urządzenie, w której wywołanie usługi reklamowej każdego sprzedawcy komponentów pochodzi z przeglądarki.
  2. Aukcja koordynowana przez serwer, w której wywołanie usługi reklamowej każdego sprzedawcy komponentów pochodzi z usługi reklamowej sprzedawcy najwyższego poziomu.

Aukcja na urządzeniu z udziałem wielu sprzedawców

W przypadku aukcji wielu sprzedawców koordynowanej przez urządzenie każdy sprzedawca komponentów może przeprowadzić aukcję w wybranej przez siebie konfiguracji. W aukcji najwyższego poziomu mogą brać udział sprzedawcy korzystający z urządzeń, sprzedawcy korzystający z B&A i sprzedawcy korzystający z trybu mieszanego.

Diagram opisujący, jak wielu sprzedawców korzystających z różnych konfiguracji aukcji może przesyłać wyniki aukcji do sprzedawcy najwyższego poziomu.
(Diagram w pełnym rozmiarze)
W tej konfiguracji sprzedawca najwyższego poziomu, czyli „SSP-TOP”, przeprowadza aukcję dla wielu sprzedawców, w której uczestniczą „SSP-OD”, „SSP-BA” i „SSP-MIX”: * „SSP-OD”, który przeprowadza aukcję PA tylko na urządzeniu, przesyła sprzedawcy najwyższego poziomu konfigurację aukcji komponentów na urządzeniu. * `SSP-BA`, który prowadzi aukcję B&A, wysyła do swojej usługi reklamowej sprzedawcy żądanie ujednoliconej aukcji i prowadzi własne aukcje kontekstowe i B&A. Wyniki są przesyłane do sprzedawcy najwyższego poziomu. * `SSP-MIX`, który przeprowadza aukcję w trybie mieszanym, najpierw przeprowadza na serwerze aukcję B&A, a potem przesyła zarówno jej wynik, jak i konfigurację aukcji na urządzeniu. Sprzedawca najwyższego poziomu zbiera konfiguracje aukcji komponentów od każdego sprzedawcy i tworzy konfigurację aukcji podobną do tej:```jsawait navigator.runAdAuction({ seller: 'https://ssp-top.example', decisionLogicURL: 'https://ssp-top.example/score-ad.js', componentAuctions: [ // SSP-BA's B&A-only auction { seller: 'https://ssp-ba.example', requestId: 'g8312cb2-da2d-4e9b-80e6-e13dec2a581c', serverResponse: Uint8Array(560) [193, 120, 4, …] // Encrypted B&A auction result }, // SSP-MIX's B&A auction of mixed-mode { seller: 'https://ssp-mix.example', requestId: 'f5135cb2-da2d-4e9b-80e6-e13dec2a581c', serverResponse: Uint8Array(560) [133, 20, 4, …] // Encrypted B&A auction result }. // SSP-MIX's on-device auction of mixed-mode { seller: 'https://ssp-mix.example', interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'], decisionLogicURL: 'https://ssp-mix.example/score-ad.js', } // SSP-OD's on-device auction { seller: 'https://ssp-od.example', interestGroupBuyers: ['https://dsp-a.example', 'https://dsp-b.example'], decisionLogicURL: 'https://ssp-od.example/score-ad.js', } ] }) ```### Aukcja z udziałem wielu sprzedawców koordynowana przez serwerW aukcji z udziałem wielu sprzedawców koordynowanej przez serwer wywołania usług reklamowych sprzedawcy komponentów są wykonywane z usługi reklamowej sprzedawcy najwyższego poziomu. W tej konfiguracji sprzedawcy komponentów nie mogą przeprowadzać aukcji na urządzeniu ani aukcji w trybie mieszanym. Wszyscy sprzedawcy muszą korzystać z ustalania stawek i alokacji, a wszyscy kupujący muszą przesyłać swoje stawki za pomocą tej metody.
Platforma SSP najwyższego poziomu wysyła do usługi reklamowej sprzedawcy żądanie zunifikowanej aukcji. Usługa reklamowa sprzedawcy wywołuje SFE, aby uruchomić operację GetComponentAuctionCipherTexts. Zwrócone teksty zaszyfrowane są następnie wysyłane do usługi reklamowej każdego sprzedawcy komponentów, która przeprowadza własne aukcje B&A.
(Diagram w pełnym rozmiarze)

Na tym schemacie SSP-TOP prowadzi aukcję wielu sprzedawców koordynowaną przez serwer, w której uczestniczą SSP-BA-XSSP-BA-Y.

Z przeglądarki do usługi reklamowej sprzedawcy najwyższego poziomu jest wysyłane jedno żądanie ujednoliconej aukcji, które zawiera ładunek aukcji kontekstowych i aukcji PA dla wszystkich uczestników. Następnie SAS wykonuje wywołanie GetComponentAuctionCiphertexts do SFE z ładunkiem. SFE odszyfruje ładunek, rozdzieli go na poszczególnych sprzedawców komponentów i zwróci ponownie zaszyfrowane ładunki do SAS sprzedawcy najwyższego poziomu.

Definicje protokołu dla żądania i odpowiedzi GetComponentAuctionCiphertexts są następujące:

// Request sent from the top-level seller's ad service to SFE
message GetComponentAuctionCiphertextsRequest {
  bytes protected_auction_ciphertext = 1; // Generated in the browser
  repeated string component_sellers = 2; // The list of all component sellers
}

// Response returned from SFE to the top-level seller's ad service
message GetComponentAuctionCiphertextsResponse {
  // A map of component sellers and their re-encrypted payloads
  map<string, bytes> seller_component_ciphertexts = 1;
}

W przypadku każdego ładunku sprzedawcy komponentu SAS sprzedawcy najwyższego poziomu wywołuje SAS sprzedawców komponentów, a każdy SAS komponentu przeprowadza aukcję B&A komponentu. Następnie wyniki aukcji komponentów są zwracane do SFE sprzedawcy najwyższego poziomu, a oferty z aukcji komponentów są oceniane przez usługę aukcyjną sprzedawcy najwyższego poziomu. Do SFE zwracana jest stawka z najwyższym wynikiem atrakcyjności, a zaszyfrowany ładunek jest wysyłany do SAS, aby został zwrócony do klienta. W przeglądarce sprzedawca najwyższego poziomu kończy aukcję, wywołując funkcję navigator.runAdAuction() i przekazując zaszyfrowany ładunek z wynikiem aukcji na serwerze.

Dalsze kroki

Po przeczytaniu tego przewodnika możesz wykonać te czynności:

Więcej informacji

Masz pytania?