Profilowanie aukcji w ramach Protected Audience API

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

  1. 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
  2. W Android Studio otwórz przykładową aplikację Protected Audience z poziomu Katalog privacy-sandbox-samples/Fledge/FledgeKotlin.

  3. Utwórz i zainstaluj przykładową aplikację na urządzeniu testowym lub w emulatorze.

Przeprowadź aukcję i śledź Perfetto

  1. 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. .
  2. 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>"
  3. Przełącz opcję „Buty CA” , by mieć co najmniej 1 aktywną niestandardową listę odbiorców.

    Zrzut ekranu aplikacji w wersji demonstracyjnej. Przełączono urząd certyfikacji Shoes.
    Aplikacja demonstracyjna Protected Audience
    .
  4. 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
  5. 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”.

  6. 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

  1. 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:

    Interfejs Perfetto przedstawiający aukcję z Protected Audience API. Widoczne są takie ścieżki jak RunOnDeviceAdSelection i RunBidion.
    Aukcja z Protected Audience API na jednego kupującego w Perfetto.
  2. Kliknij log czasu, aby go sprawdzić. Szczegóły takie jak czas oczekiwania na wykonanie są który znajdziesz tutaj.

    Interfejs Perfetto sprawdza segment logu czasu. Szczegóły czasu oczekiwania są widoczne.
    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.

  1. W Perfetto przejdź do sekcji „Query (SQL)” (Zapytanie (SQL)). w panelu nawigacji po lewej stronie.
  2. Wpisz to zapytanie:

    SELECT AVG(dur)
    FROM slice
    WHERE slice.name GLOB 'FetchPayload';
    
  3. Uruchom zapytanie i sprawdź wyniki.

    wyniki zapytania SQL. Średni czas oczekiwania wynosi 1769 3688 nanosekund.
    Wyniki zapytania SQL w nanosekundach.