Profilowanie aukcji Protected Audience

Aukcje Protected Audience można analizować wizualnie lub za pomocą zapytania SQL w narzędziu Perfetto. Technologie reklamowe mogą używać profilowania za pomocą Perfetto do pomiaru skuteczności aukcji z użyciem Protected Audience, w tym:

  • Czas pracy procesora skryptu ustalania stawek i oceniania
  • Czas oczekiwania na żądania HTTP, np. w przypadku usługi klucz/wartość
  • Wpływ na wydajność w przypadku zimnej i gorącej pamięci podręcznej
  • Więcej czy mniej niestandardowych odbiorców
  • Większe i mniejsze zestawy sygnałów
  • Różne skrypty logiki ustalania stawek w przypadku poszczególnych odbiorców niestandardowych w porównaniu z używaniem tego samego skryptu do wszystkich rodzajów ustalania stawek.

Konfiguracja

  1. Sklonuj 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 katalogu privacy-sandbox-samples/Fledge/FledgeKotlin.

  3. Skompiluj i zainstaluj przykładową aplikację na urządzeniu testowym lub emulatorze.

Przeprowadź aukcję i utwórz ślad Perfetto

  1. Skonfiguruj i wdróż testowe punkty końcowe HTTPS. Zanotuj adresy URL hostowanych punktów końcowych, ponieważ są one wymagane do działania aplikacji demonstracyjnej Protected Audience.
  2. Uruchom aplikację demonstracyjną z określonym testowym adresem URL punktu końcowego. Zastąp <test-endpoint-url> adresem URL hostowanego punktu końcowego zapisanym w poprzednim kroku.

    adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \
      -e baseUrl "<test-endpoint-url>"
  3. Przełącz opcję „Shoes CA”, aby sprawdzić, czy jest aktywna co najmniej 1 lista odbiorców niestandardowych.

    Włączone w aplikacji demonstracyjnej.
    Aplikacja demonstracyjna Protected Audience
  4. Zarejestruj ślad za pomocą pliku trace_config.textproto z repozytorium GitHub Narzędzi deweloperskich Piaskownicy prywatności:

    ./perfetto/tools/record_android_trace \
      -c path/to/trace_config.textproto
  5. Kliknij przycisk „Uruchom wybór reklamy” i poczekaj na wyniki aukcji. Po zakończeniu aukcji w danych wyjściowych pojawi się komunikat, np. „Wyświetliłby reklamę z http://example.com/bidding/render_shoes”.

  6. W terminalu zatrzymaj (CTRL+C) program record_android_trace, aby zakończyć śledzenie. W przeglądarce otworzy się interfejs Perfetto z załadowanymi danymi śledzenia.

Wizualne przeglądanie śladów w Perfetto

  1. Wyszukaj „RunOnDeviceAdSelection” za pomocą paska adresu u góry interfejsu. Kliknij Enter, aby dokończyć wyszukiwanie i wyświetlić wyniki:

    Interfejs Perfetto z widokiem aukcji Protected Audience API. Widoczne są ścieżki takie jak RunOnDeviceAdSelection i RunBidding.
    Aukcja z Protected Audience API dla jednego kupującego w Perfetto.
  2. Kliknij log czasu, aby go sprawdzić. Szczegóły, takie jak opóźnienie wykonania, znajdziesz tutaj.

    Interfejs Perfetto sprawdzający segment śladu. Widoczne są szczegóły dotyczące opóźnienia.
    Sprawdzanie segmentu logu czasu

Segmenty śledzenia dotyczące Protected Audience

Aukcja z użyciem Protected Audience API to złożony proces, a ślad Perfetto rejestruje wiele różnych segmentów. W tej tabeli opisano, co reprezentuje każdy segment śladu.

Godzina Segment Opis Częstotliwość
Przed aukcją RunOnDeviceAdSelection Kompleksowa obsługa aukcji Za aukcję
Określanie stawek (po stronie kupującego) FilterContextualAds Przeprowadzanie filtrowania reklam kontekstowych pod kątem instalacji aplikacji i ograniczenia liczby wyświetleń Za aukcję
GetBuyersCustomAudience Wczytywanie listy niestandardowych odbiorców kupującego z bazy danych na kupującego,
FilterCustomAudiences przeprowadzanie filtrowania instalacji aplikacji i ograniczenia liczby wyświetleń na listach odbiorców niestandardowych, Za aukcję
GetTrustedBiddingSignals Wczytywanie sygnałów określania stawek kupującego na kupującego,
RunBiddingPerCustomAudience Ustalanie stawek za reklamy w przypadku pojedynczej listy odbiorców niestandardowych Na niestandardową grupę odbiorców
GetBuyerDecisionLogic Wczytywanie kodu JavaScript kupującego z sieci lub bazy danych (jeśli jest w pamięci podręcznej). Na niestandardową grupę odbiorców
RunBidding Wykonanie JavaScriptu w przypadku kupującego na kupującego,
GenerateBids Wykonanie JavaScriptu w przypadku odbiorców niestandardowych Na niestandardową grupę odbiorców
Ocena (sprzedaż przestrzeni reklamowej) GetTrustedScoringSignals Wczytywanie sygnałów oceny sprzedawcy Według sprzedawcy
RunAdScoring Wykonanie JavaScriptu na potrzeby oceny Za aukcję
ScoreAd Wykonanie JavaScriptu w przypadku reklamy na reklamę,
GetAdSelectionLogic Wczytywanie logiki wyboru reklam sprzedawcy Za aukcję
RunAdOutcomeSelection Filtrowanie końcowe Za aukcję
Po aukcji PersistOnDeviceAdSelection Zapisywanie wyniku aukcji w bazie danych Za aukcję

Zapytanie o średni czas oczekiwania na wykonanie

Perfetto może używać zapytań SQL, aby uzyskać precyzyjne pomiary tego, co dzieje się w danym śladzie.

W tej sekcji znajdziesz informacje o tym, jak mierzyć średnie opóźnienie wykonywania kodu JavaScript.

  1. W Perfetto w panelu nawigacyjnym po lewej stronie kliknij „Query (SQL)” (Zapytanie (SQL)).
  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 17693688 nanosekund.
    Wyniki zapytania SQL w nanosekundach.