Przewodnik dla deweloperów dotyczący aukcji reklam na urządzeniu, które umożliwiają wyświetlanie reklam remarketingowych i reklam kierowanych na niestandardowe grupy odbiorców bez śledzenia użytkowników w witrynach przez inne firmy.
Jeśli dopiero zaczynasz korzystać z interfejsu Protected Audience API, przeczytaj omówienie interfejsu Protected Audience API, aby poznać ogólne informacje o tym interfejsie.
Ten post jest przeznaczony dla programistów i zawiera informacje techniczne na temat najnowszej wersji eksperymentalnego interfejsu Protected Audience API. Dostępna jest wersja demonstracyjna podstawowego wdrożenia interfejsu Protected Audience API, a także dokumentacja interfejsu API dla kupujących i sprzedających reklamy.
Stan wdrożenia
- Propozycja dotycząca interfejsu Protected Audience API jest teraz ogólnie dostępna. Zadawanie pytań i śledzenie dyskusji.
- Stan oczekujących funkcji interfejsu Protected Audience API zawiera szczegóły zmian i ulepszeń interfejsu Protected Audience API oraz jego funkcji.
- Stan mrugania
- Stan interfejsu Protected Audience API na platformie Chrome: dotyczy interfejsu Protected Audience API w Chrome.
- Stan interfejsu API reklam na platformie Chrome: zbiór interfejsów API ułatwiających wyświetlanie reklam: Protected Audience API, Topics, Fenced Frames i Attribution Reporting.
Aby otrzymywać powiadomienia o zmianach stanu interfejsu API, zapisz się na listę adresową dla programistów.
Czym jest interfejs Protected Audience API?
Interfejs Protected Audience API to interfejs API Piaskownicy prywatności, który służy do obsługi przypadków użycia remarketingu i niestandardowych grup odbiorców. Został zaprojektowany tak, aby nie można go było używać do śledzenia przez podmioty zewnętrzne zachowań użytkowników w witrynach. Interfejs API umożliwia przeprowadzanie w przeglądarce aukcji na urządzeniu, aby wybierać trafne reklamy do wyświetlania w witrynach, które użytkownik odwiedził wcześniej.
Interfejs Protected Audience API to pierwszy eksperyment wdrożony w Chromium w ramach rodziny propozycji TURTLEDOVE.
Wypróbuj interfejs Protected Audience API
Dostępna dokumentacja API
Ten dokument zawiera opis interfejsu Protected Audience API. Jeśli szukasz konkretnych metod i parametrów interfejsu API:
- Przewodnik dla kupujących
joinAdInterestGroup()igenerateBid(). - Przewodnik dla sprzedawców dotyczący interfejsu Protected Audience API
runAdAuction() - Przewodnik dla kupujących
reportWin()i przewodnik dla sprzedawcówreportResult() - Rozwiązywanie problemów z interfejsem Protected Audience API
Możesz też przeczytać sprawdzone metody dotyczące opóźnień w aukcjach reklamowych z użyciem Protected Audience API.
Wersja demonstracyjna interfejsu Protected Audience API
Podstawowe wdrożenie interfejsu Protected Audience API w witrynach reklamodawców i wydawców jest dostępne na stronie protected-audience-demo.web.app/.
Testowanie tego interfejsu API
Interfejs Protected Audience API możesz przetestować na jednym użytkowniku w Chrome Beta w wersji 101.0.4951.26 lub nowszej na komputerze:
- Włącz wszystkie interfejsy API ochrony prywatności w reklamach w sekcji
chrome://settings/adPrivacy. - Ustawianie flag z wiersza poleceń Pełną listę dostępnych flag interfejsu Protected Audience API znajdziesz w Chromium Code Search.
renderować reklamy w elementach iframe lub ramkach chronionych,
Reklamy mogą być renderowane w <iframe> lub <fencedframe> w zależności od ustawionych flag.
Aby renderować reklamy za pomocą funkcji <fencedframe>:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,FencedFrames
Aby renderować reklamy za pomocą funkcji <iframe>:
--enable-features=InterestGroupStorage,AdInterestGroupAPI,Fledge,AllowURNsInIframes --disable-features=FencedFrames
Dodaj flagę BiddingAndScoringDebugReportingAPI, aby włączyć tymczasowe metody raportowania wygranych i przegranych w trybie debugowania.
Obsługiwane funkcje
Interfejs Protected Audience API za flagami funkcji w Chromium to pierwszy eksperyment, który ma na celu przetestowanie tych funkcji interfejsu Protected Audience API:
- Grupy zainteresowań: przechowywane przez przeglądarkę wraz z powiązanymi metadanymi, które służą do konfigurowania określania stawek za reklamy i ich renderowania.
- Licytowanie na urządzeniu przez kupujących (platformę DSP lub reklamodawcę): na podstawie zapisanych grup zainteresowań i sygnałów od sprzedawcy.
- Wybieranie reklam na urządzeniu przez sprzedawcę (platformę SSP lub wydawcę): na podstawie stawek w aukcji i metadanych od kupujących.
- Wyświetlanie reklam w tymczasowo uproszczonej wersji Fenced Frames: z dostępem do sieci i rejestrowaniem danych na potrzeby wyświetlania reklam.
Więcej informacji o obsłudze funkcji i ograniczeniach znajdziesz w wyjaśnieniu dotyczącym interfejsu Protected Audience API.
Uprawnienia dotyczące grup zainteresowań
W obecnej implementacji interfejsu Protected Audience API domyślnie zezwala się na wywoływanie funkcji
joinAdInterestGroup()
z dowolnego miejsca na stronie, nawet z elementów iframe z innych domen.
W przyszłości, gdy właściciele witryn będą mieli czas na zaktualizowanie zasad dotyczących uprawnień międzydomenowych elementów iframe, planujemy zablokować wywołania z takich elementów.
Usługa kluczy-wartości
Aby obsługiwać aukcję reklam w ramach Protected Audience API, przeglądarka może uzyskać dostęp do usługi klucz/wartość, aby pobierać informacje w czasie rzeczywistym, które obsługują aukcję reklam w ramach 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 reklamowych pod kątem zgodności z zasadami wydawcy.
Dostępny jest już kod usługi klucz/wartość interfejsu Protected Audience API. Aktualne informacje znajdziesz w poście na blogu.
Na potrzeby wstępnych testów wprowadziliśmy model „Przynieś własny serwer”. W dłuższej perspektywie dostawcy technologii reklamowych będą musieli korzystać z usług klucz/wartość Protected Audience API o otwartym kodzie źródłowym, które działają w zaufanych środowiskach wykonawczych.
Aktualności dotyczące harmonogramu znajdziesz na blogu o usługach Protected Audience API. Zanim wprowadzimy tę zmianę, powiadomimy deweloperów z dużym wyprzedzeniem, aby mogli rozpocząć testowanie i wdrażanie.
Wykrywanie obsługi funkcji
Zanim zaczniesz korzystać z interfejsu API, sprawdź, czy jest on obsługiwany przez przeglądarkę i dostępny w 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 na zamówienie, a następnie odwiedza witrynę z wiadomościami, w której wyświetla mu się reklama nowego roweru tego producenta.
Funkcje interfejsu Protected Audience API będą dodawane z czasem w miarę postępów prac nad wdrożeniem.
1. Użytkownik odwiedza witrynę reklamodawcy.
Wyobraź sobie, że użytkownik odwiedza witrynę producenta rowerów na zamówienie (reklamodawcy w tym przykładzie) i spędza trochę czasu na stronie produktu, czyli ręcznie robionego roweru stalowego. Daje to producentowi rowerów możliwość prowadzenia remarketingu.
2. Przeglądarka użytkownika jest proszona o dodanie grupy zainteresowań.
Platforma DSP reklamodawcy (lub sam reklamodawca) wywołuje
navigator.joinAdInterestGroup() przeglądarkę, aby poprosić ją 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 dsp.example. Właściciel grupy zainteresowań (w tym przypadku platforma DSP) będzie kupującym w aukcji reklamowej Protected Audience API. Informacja o przynależności do grupy zainteresowań jest zapisywana przez przeglądarkę na urządzeniu użytkownika i nie jest udostępniana dostawcy przeglądarki ani nikomu innemu.
- Przeczytaj wyjaśnienie dotyczące interfejsu Protected Audience API: przeglądarki rejestrują grupy użytkowników o wspólnych zainteresowaniach.
- Przeczytaj przewodnik po interfejsie API: kupujący i platformy DSP dowiedzą się, jak
joinAdInterestGroup()i generować stawki.
Określanie reklam dla grupy zainteresowań
Obiekty ads i adComponents zawierają adres URL kreacji reklamy oraz opcjonalnie dowolne metadane, które można wykorzystać w momencie składania oferty. Na przykład:
{
renderUrl: 'https://cdn.example/.../bikeAd1.html',
metadata: bikeAd1metadata // optional
}
Jak kupujący składają oferty?
generateBid() jest wywoływana w przypadku każdej grupy zainteresowań, do której należy przeglądarka, jeśli właściciel grupy zainteresowań został zaproszony do składania ofert.
Zapoznaj się z generatedBid() dokumentacją dla deweloperów.
3. Użytkownik odwiedza witrynę, która sprzedaje miejsce na reklamę.
Później użytkownik odwiedza witrynę, która sprzedaje miejsce na reklamy, w tym przykładzie jest to witryna z wiadomościami. Witryna ma zasoby reklamowe, które sprzedaje automatycznie za pomocą określania stawek w czasie rzeczywistym.
4. W przeglądarce przeprowadzana jest aukcja reklam.
Aukcję reklamową przeprowadza prawdopodobnie dostawca platformy po stronie sprzedaży (SSP) wydawcy lub sam wydawca. Celem aukcji jest wybranie najbardziej odpowiedniej reklamy dla pojedynczego dostępnego boksu reklamowego na bieżącej stronie. Aukcja uwzględnia grupy zainteresowań, do których należy przeglądarka, oraz dane od kupujących miejsce na reklamę i sprzedawców z usług klucz/wartość.
- Przeczytaj wyjaśnienie dotyczące Protected Audience API: Sprzedawcy przeprowadzają aukcje na urządzeniu
- Przeczytaj przewodnik po interfejsie API: sprzedawcy mogą dowiedzieć się więcej o
runAdAuction()i sprawdzonych metodach dotyczących opóźnień w aukcjach reklam.
5. Sprzedawca i kupujący biorący udział w aukcji przesyłają do usługi klucz/wartość żądania danych w czasie rzeczywistym.
Podczas aukcji reklam sprzedawca może poprosić o dane w czasie rzeczywistym dotyczące konkretnych kreacji reklamowych, 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, a także kluczy z właściwości renderUrl wszystkich wpisów w polach ads i adComponents wszystkich grup zainteresowań w aukcji.
Kupujący może poprosić o dane w czasie rzeczywistym z usługi klucz/wartość, korzystając z właściwości trustedBiddingSignalsUrl i trustedBiddingSignalsKeys argumentu grupy zainteresowań przekazywanego do funkcji navigator.joinAdInterestGroup().
Gdy wywoływana jest funkcja runAdAuction(), przeglądarka wysyła żądanie do zaufanego serwera każdego reklamodawcy. 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. hostnamejest dostarczany przez przeglądarkę.- Wartość
keysjest pobierana ztrustedBiddingSignalsKeys.
Odpowiedzią na to żądanie jest obiekt JSON zawierający wartości poszczególnych kluczy.
- Przeczytaj wyjaśnienie dotyczące interfejsu Protected Audience API: pobieranie danych w czasie rzeczywistym z usługi klucz/wartość Protected Audience API.
- Przeczytaj artykuł open sourcing the Protected Audience API Key/Value service (udostępnianie usługi klucz/wartość interfejsu Protected Audience API na zasadach open source).
6. Wyświetlenie zwycięskiej reklamy
Obietnica zwrócona przez funkcję runAdAuction() jest rozwiązywana w obiekcie konfiguracji ramki chronionej (FencedFrameConfig), gdy w konfiguracji aukcji flaga resolveToConfig jest ustawiona na true. Konfiguracja ramki jest używana przez ramkę z ograniczeniami do przekierowania do zwycięskiej reklamy, ale adres URL reklamy nie jest widoczny dla osoby osadzającej ramkę.
Obiekt konfiguracji ramki ograniczonej jest dostępny od wersji M114. Więcej informacji o obiekcie FencedFrameConfig znajdziesz w artykule na blogu Chrome.
- Przeczytaj wyjaśnienie dotyczące interfejsu Protected Audience API: przeglądarki renderują zwycięską reklamę
7. Wynik aukcji jest zgłaszany
Długoterminowy plan zakłada, że przeglądarka będzie mogła raportować wyniki aukcji sprzedawcy i kupującym za pomocą interfejsów Private Aggregation API.
Jako tymczasowy mechanizm raportowania na poziomie zdarzeń kod implementujący reportResult() w przypadku sprzedawcy i reportWin() w przypadku zwycięskiego oferenta może wywoływać funkcję sendReportTo(). Przyjmuje 1 argument: ciąg znaków
reprezentujący adres URL, który jest pobierany po zakończeniu aukcji i który koduje
informacje o zdarzeniu do raportowania.
- Przeczytaj przewodnik po interfejsie API: dowiedz się więcej o raportach sprzedawcy i kupującego
8. Zgłoszono kliknięcie reklamy
Kliknięcie reklamy wyświetlanej w ramce z ograniczeniami jest raportowane. Więcej informacji o tym, jak to może działać, znajdziesz w artykule Raportowanie reklam w ramkach ograniczonych.
Czym różni się interfejs Protected Audience API od TURTLEDOVE?
Interfejs Protected Audience API to pierwszy eksperyment wdrożony w Chromium w ramach rodziny propozycji TURTLEDOVE.
Interfejs Protected Audience API jest zgodny z ogólnymi zasadami TURTLEDOVE. Niektóre reklamy online były wyświetlane osobom, które mogły być zainteresowane danym produktem lub usługą, ponieważ wcześniej weszły w interakcję z reklamodawcą lub siecią reklamową. W przeszłości reklamodawcy rozpoznawali konkretne osoby podczas przeglądania przez nie różnych witryn. Jest to podstawowy problem związany z prywatnością w dzisiejszym internecie.
Projekt TURTLEDOVE ma na celu udostępnienie nowego interfejsu API, który będzie obsługiwać ten przypadek użycia, a jednocześnie zapewniać kluczowe postępy w zakresie ochrony prywatności:
- Informacje o tym, co według reklamodawcy interesuje daną osobę, są przechowywane w przeglądarce, a nie u reklamodawcy.
- Reklamodawcy mogą wyświetlać reklamy na podstawie zainteresowań, ale nie mogą łączyć tych zainteresowań z innymi informacjami o osobie, w szczególności z tym, kim jest i jaką stronę odwiedza.
Protected Audience API powstał na bazie TURTLEDOVE i zbioru powiązanych propozycji zmian, które lepiej odpowiadają potrzebom deweloperów korzystających z tego interfejsu:
- W SPARROW:Criteo zaproponowało dodanie modelu usługi („Gatekeeper”) działającego w zaufanym środowisku wykonawczym (TEE). Interfejs Protected Audience API obejmuje bardziej ograniczone wykorzystanie środowisk TEE na potrzeby wyszukiwania danych w czasie rzeczywistym i raportowania zbiorczego.
- Propozycje TERN od NextRoll i PARRROT od Magnite opisywały różne role kupujących i sprzedawców w aukcji na urządzeniu. Proces określania stawek za reklamy i oceniania reklam w interfejsie Protected Audience API opiera się na tych pracach.
- Modyfikacje RTB House oparte na wynikach i na poziomie produktu TURTLEDOVE poprawiły anonimowość i możliwości personalizacji aukcji na urządzeniu.
- PARAKEET to propozycja Microsoftu dotycząca usługi reklamowej podobnej do TURTLEDOVE, która opiera się na serwerze proxy działającym w środowisku TEE między przeglądarką a dostawcami technologii reklamowych. Ma on anonimizować żądania reklam i egzekwować właściwości związane z ochroną prywatności. Interfejs Protected Audience API nie korzysta z tego modelu proxy. Ujednolicamy interfejsy JavaScript API dla PARAKEET i Protected Audience API, aby w przyszłości połączyć najlepsze funkcje obu propozycji.
Interfejs Protected Audience API nie uniemożliwia jeszcze sieci reklamowej witryny uzyskiwania informacji o tym, które reklamy widzi dana osoba. Z czasem planujemy zmodyfikować interfejs API, aby zwiększyć ochronę prywatności.
Czy interfejs Topics API może być używany z interfejsem Protected Audience API?
Tak. Obserwowany temat dotyczący bieżącego użytkownika, udostępniany przez interfejs Topics API, może być używany przez sprzedawcę lub licytującego jako informacja kontekstowa. Temat może być uwzględniony w tych właściwościach:
auctionSignals, właściwość obiektu konfiguracji aukcji przekazanego do metodynavigator.runAdAuction()userBiddingSignals, właściwość obiektu konfiguracji grupy zainteresowań przekazywanego donavigator.joinAdInterestGroup()
Dostępna konfiguracja przeglądarki
Użytkownicy mogą dostosowywać swój udział 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 ustawienia Piaskownicy prywatności wyższego poziomu, aby zrezygnować z interfejsu Protected Audience API. Chrome planuje umożliwić użytkownikom wyświetlanie listy grup zainteresowań, do których zostali dodani, w odwiedzanych przez nich witrynach, a także zarządzanie tą listą. Podobnie jak same technologie Piaskownicy prywatności, ustawienia użytkownika mogą się zmieniać w odpowiedzi na opinie użytkowników, organów regulacyjnych i innych podmiotów.
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 do zarządzania interfejsem Protected Audience API i powiązanymi z nim danymi.
Wywołujący interfejs API nie mają dostępu do członkostwa w grupach, gdy użytkownicy przeglądają internet w trybie incognito, a członkostwo jest usuwane, gdy użytkownicy wyczyszczą dane witryny.
Czy worklety interfejsu Protected Audience API są buforowane przez przeglądarkę?
Zasoby zawierające worklety Protected Audience – worklety generowania stawek i raportowania kupującego oraz worklety oceniania reklam i raportowania sprzedawcy – są buforowane przez przeglądarkę. Do kontrolowania działania pamięci podręcznej możesz używać nagłówka Cache-Control.
Angażowanie się i przesyłanie opinii
Uzyskaj pomoc
Aby zadać pytanie i uzyskać pomoc dotyczącą implementacji, wersji demonstracyjnej lub dokumentacji:
- GitHub przeczytaj wyjaśnienie, zadawaj pytania i śledź dyskusję.
- Wersja demonstracyjna: zgłoś problem w repozytorium kodu wersji demonstracyjnej.
- Wdrożenie w Chrome: jeśli masz pytania lub uwagi dotyczące wdrożenia interfejsu Protected Audience API w Chrome, możesz sprawdzić istniejące problemy lub zgłosić nowy problem.
Jeśli masz bardziej ogólne pytania dotyczące 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 biznesowej W3C ds. ulepszania reklam internetowych.
Użyj formularza opinii Piaskownicy prywatności, aby przesłać opinię prywatnie do zespołu Chrome poza forami publicznymi.
Rezygnacja
Chcesz zrezygnować z interfejsu Protected Audience API? Dowiedz się, jak zablokować dostęp do interfejsu Protected Audience API jako właściciel witryny lub użytkownik.
Otrzymuj powiadomienia
- Aby otrzymywać powiadomienia o zmianach stanu interfejsu API, zapisz się na listę mailingową dla deweloperów.
- Aby śledzić wszystkie bieżące dyskusje na temat interfejsu API, kliknij przycisk Obserwuj na stronie interfejsu API w GitHubie. Wymaga to posiadania lub utworzenia konta GitHub.
- Aby otrzymywać ogólne informacje o Piaskownicy prywatności, zasubskrybuj kanał RSS [Postępy w Piaskownicy prywatności].
- Dołącz do zaplanowanych rozmów dotyczących interfejsu Protected Audience API (co 2 tygodnie). Każdy może dołączyć do grupy WICG. Aby wziąć udział w jej pracach, najpierw dołącz do WICG. Możesz aktywnie uczestniczyć w spotkaniu lub tylko słuchać.