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 ustalania wszystkich 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 uzyskaj ś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 niestandardowa lista odbiorców.

    Włączone w aplikacji demonstracyjnej ustawienie Shoes CA.
    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 w rodzaju „Wyświetliłby reklamę z http://example.com/bidding/render_shoes”.

  6. W terminalu zakończ (CTRL+C) działanie programu record_android_trace, aby zakończyć śledzenie. W przeglądarce otworzy się interfejs Perfetto z wczytanymi danymi śledzenia.

Wizualne eksplorowanie ś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 UI 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 pod kątem instalacji aplikacji i ograniczenia liczby wyświetleń w przypadku reklam kontekstowych 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 użytkownika na listach odbiorców niestandardowych, Za aukcję
GetTrustedBiddingSignals Wczytywanie sygnałów ustalania 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 określonym śladzie.

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

  1. W Perfetto w panelu nawigacji po lewej stronie otwórz „Query (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.