Aukcje w ramach Protected Audience API można analizować (wizualnie lub za pomocą zapytania SQL z użyciem Perfetto). Technologie reklamowe mogą wykorzystać profilowanie z użyciem Perfetto, aby mierzyć skuteczność aukcji Protected Audience API, w tym:
- Czas pracy procesora przez skrypt ustalania stawek i punktacji
- Opóźnienie żądań HTTP, takich jak usługa par klucz-wartość
- Wpływ na wydajność pamięci podręcznej stanu zimnego i gorącego
- Więcej lub mniej grup niestandardowych odbiorców
- Większe lub mniejsze zbiory sygnałów
- różne skrypty logiki ustalania stawek na niestandardowych listach odbiorców w porównaniu z użyciem tego samego skryptu.
Konfiguracja
Skopiuj repozytoria Perfetto i Piaskownica 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 katalogu
privacy-sandbox-samples/Fledge/FledgeKotlin
.Skompiluj i zainstaluj aplikację próbną na urządzeniu testowym lub emulatorze.
Przeprowadź aukcję i przeprowadź ślad Perfetto
- Skonfiguruj i wdróż testowe punkty końcowe HTTPS. Zanotuj adresy URL hostowanych punktów końcowych, ponieważ są one wymagane do działania demonstracyjnej aplikacji Protected Audience.
Uruchom aplikację demonstracyjną z podanym adresem URL punktu końcowego testu. Zastąp
<test-endpoint-url>
adresem URL hostowanego punktu końcowego zarejestrowanym w poprzednim kroku.adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \ -e baseUrl "<test-endpoint-url>"
Przełącz pole „Shoes CA”, aby upewnić się, że jest aktywna co najmniej 1 niestandardowa lista odbiorców.
Zapisz ślad za pomocą pliku trace_config.textproto z repozytorium narzędzi deweloperskich Piaskownicy prywatności na GitHubie:
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textproto
Kliknij przycisk „Uruchom wybór reklamy” i poczekaj na wyniki aukcji. Po zakończeniu aukcji w danych wyjściowych pojawi się komunikat „Wyświetla się reklama z
http://example.com/bidding/render_shoes
”.Aby zakończyć śledzenie, zakończ w terminalu (CTRL+C) program
record_android_trace
. W przeglądarce otworzy się interfejs Perfetto z wczytanymi danymi logu czasu.
Wizualne eksplorowanie śladów w Perfetto
Wyszukaj „RunOnDeviceAdSelection”, korzystając z paska adresu u góry interfejsu. Naciśnij Enter, aby zakończyć wyszukiwanie i wyświetlić wyniki:
Kliknij log czasu, aby go sprawdzić. Szczegółowe informacje, takie jak czas oczekiwania na wykonanie, znajdziesz tutaj.
Segmenty śledzenia w ramach Protected Audience API
Aukcja w ramach Protected Audience API to skomplikowany proces, w którym ślad Perfetto uwzględnia wiele różnych segmentów. Ta tabela zawiera informacje o poszczególnych segmentach logu czasu.
Godzina | Segmenty | Opis | Częstotliwość |
---|---|---|---|
Przed aukcją | RunOnDeviceAdSelection |
Aukcja kompleksowa | Na aukcję |
Określanie stawek (po stronie kupującego) | FilterContextualAds |
Filtrowanie reklam kontekstowych na potrzeby instalacji aplikacji i ograniczenia liczby wyświetleń na użytkownika | Na aukcję |
GetBuyersCustomAudience |
Wczytaj niestandardową listę odbiorców kupującego z bazy danych | Na kupującego | |
FilterCustomAudiences |
Filtrowanie niestandardowych list odbiorców na podstawie liczby instalacji aplikacji i limitu wyświetleń na użytkownika | Na aukcję | |
GetTrustedBiddingSignals |
Wczytaj sygnały kupującego dotyczące ustalania stawek | Na kupującego | |
RunBiddingPerCustomAudience |
Określanie stawek w przypadku jednej niestandardowej listy odbiorców | Na niestandardową listę odbiorców | |
GetBuyerDecisionLogic |
Wczytywanie kodu JavaScript kupującego z sieci lub bazy danych, jeśli jest przechowywana w pamięci podręcznej | Na niestandardową listę odbiorców | |
RunBidding |
Wykonywanie kodu JavaScript w przypadku kupującego | Na kupującego | |
GenerateBids |
Wykonywanie kodu JavaScript w przypadku niestandardowej listy odbiorców | Na niestandardową listę odbiorców | |
Wynik (sprzedaży) | GetTrustedScoringSignals |
Wczytaj sygnały punktowe sprzedawcy | Na sprzedawcę |
RunAdScoring |
Wykonywanie kodu JavaScript na potrzeby oceny | Na aukcję | |
ScoreAd |
Wykonywanie kodu JavaScript w reklamie | Na reklamę | |
GetAdSelectionLogic |
Wczytaj logikę wyboru reklamy sprzedawcy | Na aukcję | |
RunAdOutcomeSelection |
Końcowe filtrowanie | Na aukcję | |
Po aukcji | PersistOnDeviceAdSelection |
Zapisz wynik aukcji w bazie danych | Na aukcję |
Zapytanie dotyczące średniego czasu oczekiwania na wykonanie
Perfetto może używać zapytań SQL, aby dokładnie zmierzyć, co dzieje się w danym logu czasu.
W tej sekcji opisujemy, jak mierzyć średni czas oczekiwania na wykonanie kodu JavaScript.
- W Perfetto w panelu nawigacji po lewej stronie przejdź do sekcji „Zapytanie (SQL)”.
Wpisz to zapytanie:
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
Uruchom zapytanie i sprawdź wyniki.