Przewodnik dla programistów dotyczący aukcji reklam na urządzeniu, które wyświetlają reklamy remarketingowe i kierowane na niestandardowe listy odbiorców bez śledzenia użytkowników w różnych witrynach przez firmy zewnętrzne.
Jeśli dopiero zaczynasz korzystać z interfejsu Protected Audience API, przeczytaj omówienie Protected Audience API, aby poznać jego ogólne założenia.
Ten post jest przeznaczony dla programistów i stanowi odnośnik techniczny do najnowszej wersji eksperymentalnej interfejsu Protected Audience API. Dostępne jest demo podstawowego wdrożenia interfejsu Protected Audience API, a także dokumentacja interfejsu API dla kupujących i sprzedawców reklam.
Stan wdrożenia
- The Protected Audience API proposal is now moving to general availability. Raise questions and follow discussion.
- Protected Audience API status of pending capabilities details changes and enhancements to the Protected Audience API API and features.
- Blink status
- Protected Audience API Chrome platform status: Specific to the Protected Audience API on Chrome.
- Ads API Chrome platform status: A collection of APIs to facilitate advertising: Protected Audience API, Topics, Fenced Frames and Attribution Reporting.
To be notified of status changes in the API, join the mailing list for developers.
Czym jest interfejs Protected Audience API?
Protected Audience API to interfejs API Piaskownica prywatności, który służy do obsługi przypadków użycia związanych z remarketingiem i list odbiorców niestandardowych. Został tak zaprojektowany, aby nie można było go używać do śledzenia zachowań użytkowników w różnych witrynach. API umożliwia przeprowadzanie aukcji na urządzeniu przez przeglądarkę, aby wybierać trafne reklamy dla witryn, które użytkownik odwiedził wcześniej.
Interfejs Protected Audience API jest pierwszym eksperymentem wdrożonym w Chromium w ramach rodziny propozycji TURTLEDOVE.
Wypróbuj Protected Audience API
Dostępna dokumentacja interfejsu API
Ten dokument zawiera opis interfejsu Protected Audience API. Jeśli szukasz konkretnych metod i parametrów interfejsu API:
- Przewodnik dla kupujących dotyczący
joinAdInterestGroup()
igenerateBid()
. - Przewodnik dla sprzedawców dotyczący interfejsu Protected Audience API
runAdAuction()
- Przewodnik dla kupujących
reportWin()
i sprzedawcówreportResult()
- Rozwiązywanie problemów z interfejsem Protected Audience API
Możesz też zapoznać się ze sprawdzonymi metodami dotyczącymi opóźnienia aukcji reklam w Protected Audience API.
Demonstracja Protected Audience API
Przewodnik po podstawowym wdrażaniu interfejsu Protected Audience API w witrynach reklamodawców i wydawców jest dostępny pod adresem protected-audience-demo.web.app/.
Testowanie tego interfejsu API
Interfejs Protected Audience API możesz testować dla pojedynczego użytkownika w wersji Chrome Beta 101.0.4951.26 lub nowszej na komputerze:
- Włącz wszystkie interfejsy API dotyczące ochrony prywatności w reklamach w sekcji
chrome://settings/adPrivacy
. - Ustaw flagi z poziomu wiersza poleceń. Pełną listę dostępnych flag interfejsu Protected Audience API znajdziesz w wyszukiwarce kodu Chromium.
renderowanie reklam w elementach iframe lub fenced frames.
Reklamy mogą być renderowane w formatach <iframe>
lub <fencedframe>
, w zależności od ustawionych flag.
Aby renderować reklamy za pomocą <fencedframe>
:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames
Aby renderować reklamy za pomocą <iframe>
:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames
Uwzględnij flagę BiddingAndScoringDebugReportingAPI
, aby włączyć tymczasowe metody raportowania wygranych i przegranych do debugowania.
Obsługiwane funkcje
Interfejs Protected Audience API za pomocą flag funkcji w Chromium to pierwszy eksperyment mający na celu przetestowanie tych funkcji interfejsu Protected Audience API:
- Grupy zainteresowań: są przechowywane przez przeglądarkę wraz z powiązanymi metadanymi, które służą do konfigurowania ustalania stawek i renderowania reklam.
- Określanie stawek na urządzeniu przez kupujących (platformy DSP lub reklamodawców): na podstawie zapisanych grup zainteresowań i sygnałów od sprzedawcy.
- Wybór reklamy na urządzeniu przez sprzedawcę (SSP lub wydawcę): na podstawie stawek aukcji i metadanych od kupujących.
- Wyświetlanie reklam w tymczasowo zrelaksowanym wariancie ograniczonych ram: dostęp do sieci i rejestrowanie są dozwolone w celu wyświetlania reklam.
Więcej informacji o obsługiwanych funkcjach i o ograniczeniach znajdziesz w artykule Protected Audience API – informacje ogólne.
Uprawnienia dotyczące grup zainteresowań
Domyślnie w przypadku obecnej implementacji interfejsu Protected Audience API wywołanie interfejsu joinAdInterestGroup()
jest dozwolone z dowolnego miejsca na stronie, nawet z elementów iframe w innych domenach.
W przyszłości, gdy właściciele witryn będą mieli czas na zaktualizowanie zasad dotyczących uprawnień iframe między domenami, planujemy zablokować wywołania z iframe między domenami.
Usługa kluczy-wartości
Aby obsługiwać aukcję reklam Protected Audience API, przeglądarka może uzyskać dostęp do usługi klucz-wartość, aby pobrać informacje w czasie rzeczywistym, które obsługują aukcję reklam Protected Audience API. Te informacje mogą być wykorzystywane na wiele sposobów:
- Kupujący mogą chcieć obliczyć pozostały budżet w kampanii reklamowej.
- Sprzedawcy mogą być zobowiązani do sprawdzania kreacji reklam pod kątem zgodności z zasadami wydawcy.
Kod usługi klucz-wartość interfejsu Protected Audience API jest już dostępny. Aktualny stan znajdziesz w poście na blogu z ogłoszeniem.
Na potrzeby wstępnego testowania zastosowaliśmy model „przynieś własny serwer”. W długoterminowej perspektywie technologie reklamowe będą musiały korzystać z otwartych usług klucza/wartości interfejsu Protected Audience API działających w zaufanych środowiskach wykonania.
Aby uzyskać informacje o planowanym harmonogramie, przeczytaj bloga Protected Audience API. Zanim wprowadzimy tę zmianę, powiadomimy deweloperów o tym z odpowiednim wyprzedzeniem, aby mogli rozpocząć testowanie i wdrażanie.
Wykrywanie obsługi funkcji
Zanim użyjesz interfejsu API, sprawdź, czy jest on obsługiwany przez przeglądarkę i czy jest dostępny w tym dokumencie:
'joinAdInterestGroup' in navigator &&
document.featurePolicy.allowsFeature('join-ad-interest-group') &&
document.featurePolicy.allowsFeature('run-ad-auction') ?
console.log('navigator.joinAdInterestGroup() is supported on this page') :
console.log('navigator.joinAdInterestGroup() is not supported on this page');
Jak działa interfejs Protected Audience API?
W tym przykładzie użytkownik przegląda witrynę producenta rowerów, a potem odwiedza witrynę z wiadomościami, gdzie wyświetla mu się reklama nowego roweru od tego producenta.
Funkcje interfejsu Protected Audience API będą dodawane w miarę postępów w wdrażaniu.
1. Użytkownik odwiedza stronę reklamodawcy

Wyobraź sobie, że użytkownik odwiedza witrynę producenta rowerów (w tym przykładzie reklamodawcy) i przebywa przez jakiś czas na stronie produktu, którym jest ręcznie robiony stalowy rower. Daje to producentowi rowerów możliwość remarketingu.
2. Przeglądarka użytkownika jest proszona o dodanie grupy zainteresowań

Platforma DSP reklamodawcy (lub sam reklamodawca) wywołuje funkcję navigator.joinAdInterestGroup()
, aby poprosić przeglądarkę o dodanie grupy zainteresowań do listy grup, do których należy przeglądarka.
W tym przykładzie grupa ma nazwę custom-bikes
, a jej właścicielem jest użytkownik dsp.example
. Właściciel grupy zainteresowań (w tym przypadku DSP) będzie kupującym w ramach aukcji reklam Protected Audience API. Przynależność do grupy zainteresowań jest przechowywana przez przeglądarkę na urządzeniu użytkownika i nie jest udostępniana dostawcy przeglądarki ani nikomu innemu.
- Przeczytaj objaśnienia dotyczące interfejsu Protected Audience API: Groups of users with similar interests in browsers.
- Przeczytaj przewodnik po interfejsie API: kupujący i platformy DSP, aby dowiedzieć się, jak
joinAdInterestGroup()
i generować stawki.
Określanie reklam w grupie zainteresowań
Obiekty ads
i adComponents
zawierają adres URL kreacji reklamy oraz opcjonalnie dowolne metadane, które mogą być używane podczas określania stawek. Na przykład:
{
renderUrl: 'https://cdn.example/.../bikeAd1.html',
metadata: bikeAd1metadata // optional
}
Jak kupujący ustalają stawki?
generateBid()
jest wywoływany w przypadku każdej grupy zainteresowań, której przeglądarka jest członkiem, jeśli właściciel grupy jest zaproszony do licytowania.
Zapoznaj się z dokumentacją dla deweloperów generatedBid()
.
3. Użytkownik odwiedza witrynę, która sprzedaje miejsce na reklamę.

Następnie użytkownik odwiedza witrynę, która sprzedaje miejsce na reklamy, w tym przypadku witrynę z wiadomościami. Witryna ma zasoby reklamowe, które sprzedaje automatycznie za pomocą automatycznego określania stawek w czasie rzeczywistym.
4. Aukcja reklam jest uruchamiana w przeglądarce

Aukcję reklam prawdopodobnie przeprowadza dostawca dostawy (SSP) lub sam wydawca. Celem aukcji jest wybranie najbardziej odpowiedniej reklamy dla pojedynczego dostępnego boksu reklamowego na bieżącej stronie. Podczas aukcji uwzględniane są grupy zainteresowań, do których należy przeglądarka, a także dane kupujących i sprzedawców miejsca na reklamy z usług klucz-wartość.
- Przeczytaj artykuł wyjaśniający Protected Audience API: Aukcje prowadzone przez sprzedawców na urządzeniu
- Przeczytaj przewodnik po interfejsie API: sprzedawcy mogą dowiedzieć się więcej o
runAdAuction()
i sprawdzonych metodach dotyczących opóźnień aukcji reklamowych.
5. Sprzedawca i uczestniczący kupujący żądają danych w czasie rzeczywistym z usługi Key/Value

Podczas aukcji reklam sprzedawca może poprosić o dane o konkretnych kreacjach reklamy w czasie rzeczywistym, wysyłając żądanie do usługi klucz-wartość.
Sprzedawca może poprosić o te informacje podczas runAdAuction()
za pomocą właściwości trustedScoringSignalsUrl
oraz kluczy z właściwości renderUrl
wszystkich wpisów w polach ads
i adComponents
wszystkich grup zainteresowań w aukcji.
Kupujący może żądać danych w czasie rzeczywistym z usługi klucz-wartość, używając właściwości trustedBiddingSignalsUrl
i trustedBiddingSignalsKeys
argumentu grupy zainteresowań przekazanego do navigator.joinAdInterestGroup()
.
Gdy wywołana zostanie metoda runAdAuction()
, przeglądarka wysyła żądanie do każdego zaufanego serwera kupującego. Adres URL żądania może wyglądać tak:
https://kv-service.example/getvalues?hostname=publisher.example&keys=key1,key2
- Podstawowy adres URL pochodzi z
trustedBiddingSignalsUrl
. hostname
jest dostarczany przez przeglądarkę.- Wartość
keys
jest pobierana z elementutrustedBiddingSignalsKeys
.
Odpowiedź na to żądanie to obiekt JSON zawierający wartości poszczególnych kluczy.
- Przeczytaj objaśnienia dotyczące interfejsu Protected Audience API: Pobieranie danych w czasie rzeczywistym z interfejsu Protected Audience API w usłudze klucz-wartość.
- Zapoznaj się z artykułem Otwarte źródła danych w usłudze Protected Audience API Key/Value.
6. Wyświetla się zwycięska reklama

Obiet na obietnice zwracany przez funkcję runAdAuction() jest rozwiązywany do obiektu konfiguracji ramki odizolowanej (FencedFrameConfig
), gdy w konfiguracji aukcji parametr resolveToConfig
ma wartość true
. Konfiguracja ramki jest używana przez ramkę odizolowaną do nawigacji do reklamy zwycięskiej, ale adres URL reklamy nie jest widoczny dla osoby umieszczającej ramkę.
Obiekt konfiguracji klatki z ogrodzeniem jest dostępny od wersji M114. Więcej informacji o obiekcie FencedFrameConfig
znajdziesz w artykule na blogu Chrome.
- Przeczytaj wyjaśnienie Protected Audience API: przeglądarki renderują reklamę, która wygrała aukcję
7. Wynik aukcji jest zgłaszany
Na dłuższą metę planujemy umożliwić przeglądarce raportowanie wyników aukcji sprzedawcy i kupującym za pomocą interfejsów Private Aggregation API.
Jako tymczasowy mechanizm raportowania na poziomie zdarzenia kod implementujący funkcję reportResult()
dla sprzedawcy i funkcję reportWin()
dla zwycięskiego licytującego może wywołać funkcję sendReportTo()
. Funkcja ta przyjmuje 1 argument: ciąg znaków reprezentujący adres URL, który jest pobierany po zakończeniu aukcji i zawiera zakodowane informacje na potrzeby raportowania na poziomie zdarzenia.
- Przeczytaj przewodnik po interfejsie API: dowiedz się więcej o raportowaniu dla sprzedawców i kupujących.
8. Zgłoszono kliknięcie reklamy

Rejestruje się kliknięcie reklamy renderowanej w ramce wydzielonej. Więcej informacji o tym, jak to działa, znajdziesz w artykule Raportowanie reklam w ramkach ograniczonych.

Czym różni się interfejs Protected Audience API od interfejsu TURTLEDOVE?
Interfejs Protected Audience API jest pierwszym eksperymentem, który zostanie wdrożony w Chromium w ramach rodziny propozycji TURTLEDOVE.
Interfejs Protected Audience API jest zgodny z ogólnymi zasadami TURTLEDOVE. Niektóre reklamy online wyświetlają się potencjalnie zainteresowanym osobom, które wcześniej miały kontakt z reklamodawcą lub siecią reklamową. W przeszłości działało to w ten sposób, że reklamodawca rozpoznawał daną osobę podczas przeglądania przez nią stron internetowych, co było jednym z głównych problemów z prywatnością w dzisiejszym internecie.
Projekt TURTLEDOVE ma na celu udostępnienie nowego interfejsu API do obsługi tego przypadku użycia, a także wprowadzenie kilku kluczowych ulepszeń dotyczących prywatności:
- Informacje o tym, czym według reklamodawcy interesuje się użytkownik, przechowywane są w przeglądarce, a nie w systemie reklamodawcy.
- Reklamodawcy mogą wyświetlać reklamy na podstawie zainteresowań, ale nie mogą łączyć tych zainteresowań z innymi informacjami o użytkowniku, w szczególności z informacjami o tym, kim jest użytkownik lub którą stronę odwiedza.
Interfejs Protected Audience API powstał na bazie interfejsu TURTLEDOVE i zbioru powiązanych propozycji modyfikacji, które miały służyć do ulepszania usług dla deweloperów korzystających z interfejsu API:
- W SPARROW: Criteo zaproponowało dodanie modelu usługi („Gatekeeper”) działającej w zaufanym środowisku wykonawczym (TEE). Interfejs Protected Audience API umożliwia ograniczone korzystanie z interfejsów TEE na potrzeby wyszukiwania danych w czasie rzeczywistym i tworzenia zbiorczych raportów.
- W ramach propozycji TERN firmy NextRoll i PARRROT firmy Magnite opisano różne role, jakie kupujący i sprzedający pełnią w aukcji na urządzeniu. Na tej podstawie działają przepływy określania stawek i punktacji reklam w Protected Audience API.
- Modyfikacje TURTLEDOVE dotyczące modelu opartej na wynikach i produktu w ramach RTB House poprawiły model anonimowości i możliwości personalizacji aukcji na urządzeniu
- PARAKEET to usługa reklamowa podobna do TURTLEDOVE, która polega na korzystaniu z serwera proxy działającego w ramach TEE między przeglądarką a dostawcami technologii reklamowych. Usługa ta służy do anonimizacji żądań reklam i zapewnienia ochrony prywatności. Interfejs Protected Audience API nie korzysta z tego modelu zastępowania. Dopasowujemy interfejsy JavaScript PARAKEET i Protected Audience API, aby ułatwić przyszłe prace nad połączeniem najlepszych funkcji obu tych interfejsów.
Interfejs Protected Audience API nie zapobiega jeszcze temu, aby sieć reklamowa witryny dowiadywała się, które reklamy widzi dana osoba. Z czasem planujemy zmodyfikować interfejs API, aby był bardziej prywatny.
Czy interfejs Topics API można używać z interfejsem Protected Audience API?
Tak. Obserwowany temat bieżącego użytkownika, udostępniany przez interfejs Topics API, może być używany przez sprzedawcę lub licytanta jako informacja kontekstowa. Temat może być uwzględniony w tych właściwościach:
auctionSignals
, właściwość obiektu konfiguracji aukcji przekazana do metodynavigator.runAdAuction()
userBiddingSignals
, właściwość obiektu konfiguracji grupy zainteresowań przekazana do funkcjinavigator.joinAdInterestGroup()
Dostępna konfiguracja przeglądarki
Użytkownicy mogą dostosować swoje uczestnictwo w testach Piaskownicy prywatności w Chrome, włączając lub wyłączając ustawienie najwyższego poziomu w chrome://settings/adPrivacy
.
W początkowej fazie testów użytkownicy będą mogli używać tego ogólnego ustawienia Piaskownicy prywatności, aby zrezygnować z korzystania z interfejsu Protected Audience API. Chrome planuje umożliwić użytkownikom wyświetlanie i zarządzanie listą grup zainteresowań, do których zostali dodani na podstawie odwiedzanych stron internetowych. Podobnie jak w przypadku technologii Piaskownicy prywatności, ustawienia użytkownika mogą się zmieniać pod wpływem opinii użytkowników, organów regulacyjnych i innych osób.
Będziemy nadal aktualizować dostępne ustawienia w Chrome na podstawie testów i opinii. W przyszłości planujemy udostępnić bardziej szczegółowe ustawienia interfejsu Protected Audience API i powiązanych z nim danych.
Interfejsy API nie mają dostępu do członkostwa w grupie, gdy użytkownicy przeglądają treści w trybie incognito. Członkostwo jest usuwane, gdy użytkownicy usuwają dane witryny.
Czy przeglądarka przechowuje w pamięci podręcznej moduły Protected Audience?
Zasoby zawierające moduły Protected Audience (moduł generowania i raportowania stawek kupującego oraz moduł oceniania i raportowania reklam sprzedawcy) są przechowywane w pamięci podręcznej przeglądarki. Do kontrolowania zachowania pamięci podręcznej możesz użyć nagłówka Cache-Control
.
Zaangażowanie i przesyłanie opinii
Uzyskaj pomoc
Aby zadać pytanie i uzyskać pomoc dotyczącą implementacji, wersji demonstracyjnej lub dokumentacji:
- GitHub przeczytaj informacje, zadawaj pytania i obserwuj dyskusję.
- Demo: zgłaszaj problemy w repozytorium kodu demonstracyjnego.
- Pomoc dla deweloperów: zadawaj pytania i ucz się na podstawie dyskusji w repozytorium Piaskownicy prywatności dla deweloperów. Wybierz szablon problemu dla Protected Audience API.
- Wdrożeniem w Chrome: w przypadku błędów lub problemów z wdrożeniem interfejsu Protected Audience API w Chrome możesz wyświetlić istniejące problemy lub zgłosić nowy problem.
W przypadku bardziej ogólnych pytań dotyczących spełniania Twoich potrzeb za pomocą interfejsu Protected Audience API zgłoś problem w repozytorium interfejsu API. Możesz też omówić przypadki użycia w branży w ramach grupy roboczej W3C ds. ulepszania reklam internetowych.
Użyj formularza opinii na temat Piaskownicy prywatności, aby prywatnie przekazać zespołowi Chrome opinie poza publicznymi forami.
Rezygnacja
Chcesz zrezygnować z korzystania z interfejsu Protected Audience API? Dowiedz się, jak jako właściciel witryny lub użytkownik możesz zablokować dostęp do interfejsu Protected Audience API.
Otrzymuj powiadomienia
- Aby otrzymywać powiadomienia o zmianach stanu interfejsu API, dołącz do listy mailingowej dla deweloperów.
- Aby śledzić wszystkie bieżące dyskusje dotyczące interfejsu API, kliknij przycisk Obserwuj na stronie interfejsu API na GitHub. Wymaga to założenia konta GitHub lub posiadania takiego konta.
- Aby otrzymywać ogólne informacje o Piaskownicy prywatności, zasubskrybuj kanał RSS [Postępy w Piaskownicy prywatności].
- Uczestniczyć w zaplanowanych rozmowach na temat Protected Audience API (co 2 tygodnie). Do udziału w tym spotkaniu zapraszamy wszystkich. Aby dołączyć do grupy, dołącz do WICG. Możesz aktywnie uczestniczyć w spotkaniu lub tylko słuchać.