Aukcje z Protected Audience API można analizować (wizualnie lub za pomocą zapytania SQL z użyciem Perfetto. Technologie reklamowe mogą stosować profilowanie z perfetto, aby mierzyć skuteczność aukcji z użyciem Protected Audience API. w tym:
- Czas pracy procesora przez skrypt związany z określaniem stawek i punktacją
- Czas oczekiwania na żądania HTTP, na przykład w przypadku usługi klucz-wartość
- Wpływ na wydajność pamięci podręcznej „zimnej” i „gorącej pamięci podręcznej”
- Więcej lub mniej niestandardowych grup odbiorców
- większe lub mniejsze zbiory sygnałów.
- Różne skrypty logiki ustalania stawek w poszczególnych grupach odbiorców niestandardowych w porównaniu do stosowania ten sam skrypt dla wszystkich stawek
Konfiguracja
Skopiuj repozytoria Perfetto i Piaskownicy prywatności.
git clone https://android.googlesource.com/platform/external/perfetto
git clone https://github.com/android/privacy-sandbox-samples
W Android Studio otwórz przykładową aplikację Protected Audience z poziomu Katalog
privacy-sandbox-samples/Fledge/FledgeKotlin
.Utwórz i zainstaluj przykładową aplikację na urządzeniu testowym lub w emulatorze.
Przeprowadź aukcję i śledź Perfetto
- Skonfiguruj i wdróż testowe punkty końcowe HTTPS. Zanotuj adres URL do obsługi hostowanych punktów końcowych, ponieważ są one wymagane do działania w wersji demonstracyjnej Protected Audience API. .
Uruchom aplikację w wersji demonstracyjnej z określonym testowym adresem URL punktu końcowego. Zastąp
<test-endpoint-url>
za pomocą hostowanego adresu URL punktu końcowego zapisanego w poprzedniego kroku.adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \ -e baseUrl "<test-endpoint-url>"
Przełącz opcję „Buty CA” , by mieć co najmniej 1 aktywną niestandardową listę odbiorców.
Aplikacja demonstracyjna Protected Audience .Zarejestruj log czasu za pomocą plikutrace_config.textproto z repozytorium narzędzi deweloperskich Piaskownicy prywatności na GitHubie:
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textproto
Kliknij „Uruchom wybór reklamy”. i czekaj na wyniki aukcji. Gdy aukcja zostanie zakończona, w danych wyjściowych pojawi się komunikat taki jak „Wyświetli się reklama z witryny
http://example.com/bidding/render_shoes
”.W terminalu wyłącz (CTRL+C) program
record_android_trace
, aby i dokończyć śledzenie. W przeglądarce otworzy się interfejs Perfetto ze śladem dane zostały wczytane.
Przeglądaj ślady wizualne w Perfetto
Wyszukaj „RunOnDeviceAdSelection”. używając paska adresu u góry oraz interfejs użytkownika. Naciśnij Enter, aby zakończyć wyszukiwanie i wyświetlić wyniki:
Aukcja z Protected Audience API na jednego kupującego w Perfetto. Kliknij log czasu, aby go sprawdzić. Szczegóły takie jak czas oczekiwania na wykonanie są który znajdziesz tutaj.
Sprawdzanie segmentu logu czasu.
Segmenty śledzenia w przypadku Protected Audience API
Aukcja w ramach Protected Audience API to złożony proces i obejmuje wiele różnych segmentów przechwyconych za pomocą śladu Perfetto. Ta tabela zawiera dokumenty dotyczące każdego logu czasu reprezentowanego segmentu.
Godzina | Segment | Opis | Częstotliwość |
---|---|---|---|
Przed aukcją | RunOnDeviceAdSelection |
Kompleksowa aukcja | Na aukcję |
Określanie stawek (po stronie kupującego) | FilterContextualAds |
Filtrowanie instalacji aplikacji i limitu wyświetleń na użytkownika w przypadku reklam kontekstowych | Na aukcję |
GetBuyersCustomAudience |
Wczytaj niestandardową listę odbiorców kupującego z bazy danych | Na kupującego | |
FilterCustomAudiences |
Przeprowadź filtrowanie instalacji aplikacji i limitu wyświetleń na użytkownika na podstawie list niestandardowych odbiorców | Na aukcję | |
GetTrustedBiddingSignals |
Wczytaj sygnały kupującego dotyczące ustalania stawek | Na kupującego | |
RunBiddingPerCustomAudience |
Ustalanie stawek dla reklam w przypadku 1 grupy odbiorców niestandardowych | Na niestandardową grupę odbiorców | |
GetBuyerDecisionLogic |
Wczytywanie JavaScriptu kupującego z sieci lub bazy danych, jeśli jest buforowana | Na niestandardową grupę odbiorców | |
RunBidding |
Wykonywanie JavaScriptu przez kupującego | Na kupującego | |
GenerateBids |
Wykonanie JavaScriptu w przypadku niestandardowej grupy odbiorców | Na niestandardową grupę odbiorców | |
Wynik (po stronie sprzedawcy) | GetTrustedScoringSignals |
Wczytaj sygnały oceny sprzedawcy | Według sprzedawcy |
RunAdScoring |
Wykonanie JavaScriptu do oceny | Na aukcję | |
ScoreAd |
Wykonanie JavaScriptu w reklamie | Na reklamę | |
GetAdSelectionLogic |
Wczytaj logikę wyboru reklamy sprzedawcy | Na aukcję | |
RunAdOutcomeSelection |
Ostateczne filtrowanie | Na aukcję | |
Po aukcji | PersistOnDeviceAdSelection |
Zapisz wynik aukcji w bazie danych | Na aukcję |
Zapytanie o średni czas oczekiwania na wykonanie
Perfetto może korzystać z zapytań SQL, aby dokładnie zmierzyć, co się dzieje w określonym śladzie.
W tej sekcji opisujemy, jak mierzyć średni czas oczekiwania na wykonanie Wykonanie JavaScriptu.
- W Perfetto przejdź do sekcji „Query (SQL)” (Zapytanie (SQL)). w panelu nawigacji po lewej stronie.
Wpisz to zapytanie:
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
Uruchom zapytanie i sprawdź wyniki.
Wyniki zapytania SQL w nanosekundach.