W tym dokumencie znajdziesz ogólny opis przeprowadzania aukcji z danymi Protected Audience dla pojedynczego sprzedawcy, które są używane w bieżącej wersji interfejsu Protected Audience API. Aukcja z jednym sprzedawcą może być prowadzona w ramach bardziej złożonej aukcji z udziałem wielu sprzedawców. W tym przypadku aukcja pojedynczego sprzedawcy jest nazywana „aukcją komponentu”, która może dostarczać kandydatów na reklamy do „aukcji najwyższego poziomu”, w której bierze udział wielu sprzedawców.
Aby poznać cały cykl życia interfejsu Protected Audience API, przeczytaj przewodnik dla deweloperów. W przewodniku Protected Audience API znajdziesz szczegółowe informacje o tym, jak sprzedawcy prowadzą aukcje na urządzeniu.
6 etapów aukcji reklamy w Protected Audience API
- Użytkownik odwiedza witrynę, która wyświetla reklamy.
- Kod sprzedawcy jest wykonywany (
navigator.runAdAuction()
). Określa, która przestrzeń reklamowa jest na sprzedaż i kto może licytować. Sprzedawcy muszą też dołączyć skrypt, który ocenia każdą stawkę (scoreAd()
). - Kod zaproszonego kupującego jest wykonywany w celu wygenerowania stawki, adresu URL odpowiedniej kreacji reklamy i innych danych. Skrypt ustalania stawek może wysyłać zapytania o dane w czasie rzeczywistym, np. o pozostały budżet kampanii reklamowej, do usługi par klucz-wartość kupującego.
- Kod sprzedawcy ocenia każdą stawkę i wybiera zwycięzcę. Ta logika wykorzystuje wartość stawki i inne dane, aby określić atrakcyjność stawki. Reklamy, które nie mogą pokonać zwycięzcy kontekstowego, są odrzucane. Sprzedawca może używać własnej usługi klucz-wartość do danych w czasie rzeczywistym.
- Zwycięska reklama jest zwracana jako nieprzezroczysta wartość, która wyświetla się w ramce ograniczonej. Zarówno sprzedawca, jak i wydawca nie będą mogli wyświetlić tej wartości.
- Aukcja jest raportowana sprzedawcy i kupującym, którzy wygrali.
Aukcja może się odbyć, gdy użytkownik przejdzie na stronę, na której wyświetla się reklama. Aukcje mogą być przeprowadzane z wyprzedzeniem, aby kreacja reklamy była gotowa, gdy slot reklamowy znajdzie się w polu widzenia.
Sprzedawcy inicjują aukcję reklam, oceniają reklamy kandydujące za pomocą logiki niestandardowej podanej jako funkcja scoreAd()
, a także odpowiadają za raportowanie wyników aukcji zarówno sobie, jak i zwycięzcy. Sprzedawcy mogą też egzekwować zasady wydawcy i filtrować reklamy pod kątem jakości za pomocą funkcji scoreAd()
.
Sprzedawca może się odwoływać do:
- wydawcy treści, którzy sami hostują treści reklamowe w swojej witrynie;
- platformy dostawców reklam (SSP), które współpracują z wydawcą reklam i świadczyją inne usługi;
- Skrypty firm zewnętrznych, które działają w imieniu wydawców, umożliwiając im udział w aukcjach reklam.
Wymagania wstępne do przeprowadzania aukcji
Aby przeprowadzać aukcje, sprzedawca musi zdefiniować 2 funkcje JavaScriptu:
scoreAd()
, który ocenia kandydata na reklamęreportResult()
, który obsługuje raportowanie wyników aukcji sprzedawcy
Skrypty muszą być dostarczane z jednego punktu końcowego należącego do sprzedawcy.
scoreAd()
Sprzedawca musi zdefiniować funkcję scoreAd()
, która jest obsługiwana z urządzenia końcowego należącego do sprzedawcy. Punkt końcowy jest określony w konfiguracji aukcji jako decisionLogicUrl
. Funkcja scoreAd()
ma ten podpis:
scoreAd(
adMetadata,
bid,
auctionConfig,
trustedScoringSignals,
browserSignals,
directFromSellerSignals)
Parametry scoreAd()
to:
adMetaData
, czyli dowolne metadane dotyczące kreacji reklamy, które są dostarczane przez kupującego. Jest to obiekt JSON, który można serializować. Sprzedawcy i kupujący muszą zdefiniować jego strukturę i uzgodnić ją.bid
, która jest wartością liczbową reprezentującą stawkę.auctionConfig
, czyli konfiguracja aukcji używana do wykonania aukcji.trustedScoringSignals
, które są sygnałami odczytywanymi w czasie aukcji ze serwera klucz-wartość sprzedawcy. Platforma użyjerenderUrl
reklamy docelowej jako klucza do tego wyszukiwania.browserSignals
, który jest obiektem utworzonym przez przeglądarkę, zawierającym informacje, które są jej znane i które skrypt aukcji sprzedawcy może chcieć zweryfikować.directFromSellerSignals
to obiekt, który może zawierać te pola: **sellerSignals
: podobnie jakauctionConfig.sellerSignals
, ale przekazywany za pomocą mechanizmudirectFromSellerSignals
. **auctionSignals
: podobnie jakauctionConfig.auctionSignals
, ale przekazywany za pomocą mechanizmudirectFromSellerSignals
.
Poniżej znajdziesz przykład browserSignals
. Pamiętaj, że renderUrl
reklamy kandydującej jest dostępny dzięki tym sygnałom:
{ 'topWindowHostname': 'www.example-publisher.com',
'interestGroupOwner': 'https://www.example-buyer.com',
'renderURL': 'https://cdn.com/render_url_of_bid',
'renderSize': {width: 100, height: 200}, /* if specified in the bid */
'adComponents': ['https://cdn.com/ad_component_of_bid',
'https://cdn.com/next_ad_component_of_bid',
...],
'biddingDurationMsec': 12,
'bidCurrency': 'USD', /* bidCurrency returned by generateBid, or '???' if none */
'dataVersion': 1, /* Data-Version value from the trusted scoring signals server's response */
}
reportResult()
Sprzedawca musi zdefiniować funkcję reportResult()
, która jest obsługiwana przez należący do niego punkt końcowy. Punkt końcowy jest określony w konfiguracji aukcji jako decisionLogicUrl
. Funkcja reportResult()
ma następujący podpis:
reportResult(auctionConfig, browserSignals) {
...
return signalsForWinner;
}
Parametry reportResult()
to:
auctionConfig
, czyli konfiguracja aukcji używana do wykonania aukcji.browserSignals
, który jest obiektem utworzonym przez przeglądarkę, zawierającym informacje, które są jej znane i które skrypt aukcji sprzedawcy może chcieć zweryfikować. Jest to ten sam obiekt, który został przekazany funkcjiscoreAds()
.
reportResult()
zwraca signalsForWinner
, czyli dowolny obiekt JSON, który jest przekazywany do funkcji raportowania zwycięskiego kupującego. Powinny one zawierać wszystkie istotne informacje o aukcji, które sprzedawca może podać kupującemu na potrzeby raportowania.
Przeprowadzanie aukcji Protected Audience API
Sprzedawca musi wykonać 4 główne kroki, aby przeprowadzić aukcję. Pamiętaj, że te czynności zakładają, że sprzedawca ma skonfigurowany punkt końcowy, który zwraca wymagany kod JavaScriptu wspomniany wcześniej w tym przewodniku.
- Skonfiguruj aukcję. Ten krok obejmuje utworzenie obiektu
auctionConfig
. Umożliwia to sprzedawcy określenie, którzy kupujący powinni uczestniczyć w aukcji, a także podanie sygnałów, które mogą być istotne podczas ustalania stawek lub oceniania reklam. - Wykonaj aukcję, wywołując funkcję
navigator.runAdAuction()
, podając konfigurację utworzoną w poprzednim kroku. W ten sposób inicjuje się łańcuch kupujących, którzy generują stawki, a następnie punktację. Wynikiem tego etapu jest kandydat na reklamę, który może zostać wyrenderowany, aby wyświetlić reklamę. - Wyświetl reklamę, która wygrała, w ramce lub iframe.
- Zgłoś wynik aukcji. Funkcja
navigator.sendReportTo()
inicjuje raportowanie. Sprzedawca zawsze otrzyma raport z wynikami aukcji. Tylko kupujący, który wygrał aukcję, otrzyma raport. Do raportowania na serwer sprzedawcy używa sięreportResult()
, o którym mowa wcześniej w tym przewodniku.