Le aste Protected Audience possono essere analizzate (visivamente o tramite query SQL con Perfetto). Le ad tech possono utilizzare la profilazione con Perfetto per misurare il rendimento delle aste Protected Audience, tra cui:
- Tempo di CPU dello script di offerte e punteggio
- Latenza delle richieste HTTP, ad esempio del servizio chiave/valore
- Impatto sulle prestazioni della cache fredda rispetto alla cache calda
- Più o meno segmenti di pubblico personalizzati
- Set di indicatori più grandi e più piccoli
- Script di logica di offerta diversi per ogni segmento di pubblico personalizzato rispetto all'utilizzo dello stesso script per tutte le offerte
Configurazione
Clona i repository Perfetto e Privacy Sandbox.
git clone https://android.googlesource.com/platform/external/perfetto
git clone https://github.com/android/privacy-sandbox-samples
In Android Studio, apri l'app di esempio Protected Audience dalla directory
privacy-sandbox-samples/Fledge/FledgeKotlin
.Crea e installa l'app di esempio sul tuo dispositivo di test o emulatore.
Esegui un'asta e acquisisci una traccia Perfetto
- Configura ed esegui il deployment degli endpoint HTTPS di test. Prendi nota dell'URL degli endpoint ospitati perché sono necessari per il funzionamento dell'app demo Protected Audience.
Avvia l'app demo con un URL endpoint di test specificato. Sostituisci
<test-endpoint-url>
con un URL dell'endpoint ospitato che hai registrato nel passaggio precedente.adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \ -e baseUrl "<test-endpoint-url>"
Attiva/disattiva "Scarpe CA" per verificare che sia attivo almeno un segmento di pubblico personalizzato.
App demo Protected Audience Registra una traccia utilizzando il file trace_config.textproto dal repository GitHub di Privacy Sandbox DevTools:
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textproto
Tocca il pulsante "Esegui selezione annuncio" e attendi i risultati dell'asta. Al termine dell'asta, l'output mostra un messaggio come "Visualizzerebbe l'annuncio di
http://example.com/bidding/render_shoes
".Nel terminale, termina (Ctrl+C) il programma
record_android_trace
per completare la traccia. Perfetto UI si apre nel browser con i dati di traccia caricati.
Esplorare visivamente le tracce in Perfetto
Cerca "RunOnDeviceAdSelection" utilizzando la barra degli indirizzi nella parte superiore dell'interfaccia utente. Fai clic su Invio per completare la ricerca e mostrare i risultati:
Asta Protected Audience con un solo acquirente in Perfetto. Fai clic su una traccia per esaminarla. Dettagli come la latenza di esecuzione sono disponibili qui.
Ispezione di un segmento di traccia.
Segmenti di traccia specifici di Protected Audience
L'asta Protected Audience è un processo complesso e ci sono molti segmenti diversi acquisiti dalla traccia Perfetto. Questa tabella documenta cosa rappresenta ogni segmento della traccia.
Ora | Segmento | Descrizione | Frequenza |
---|---|---|---|
Pre-asta | RunOnDeviceAdSelection |
Asta end-to-end | Per asta |
Offerte (lato acquisto) | FilterContextualAds |
Eseguire il filtro per installazione di app e quota limite sugli annunci contestuali | Per asta |
GetBuyersCustomAudience |
Caricare il segmento di pubblico personalizzato dell'acquirente dal database | Per acquirente | |
FilterCustomAudiences |
Eseguire il filtro per installazioni di app e quota limite sui segmenti di pubblico personalizzati | Per asta | |
GetTrustedBiddingSignals |
Carica gli indicatori di offerta dell'acquirente | Per acquirente | |
RunBiddingPerCustomAudience |
Offerte per gli annunci per un singolo segmento di pubblico personalizzato | Per segmento di pubblico personalizzato | |
GetBuyerDecisionLogic |
Carica il JavaScript dell'acquirente dalla rete o dal database, se memorizzato nella cache | Per segmento di pubblico personalizzato | |
RunBidding |
Esecuzione di JavaScript per un acquirente | Per acquirente | |
GenerateBids |
Esecuzione di JavaScript per un segmento di pubblico personalizzato | Per segmento di pubblico personalizzato | |
Punteggio (lato vendite) | GetTrustedScoringSignals |
Caricare gli indicatori di punteggio del venditore | Per venditore |
RunAdScoring |
Esecuzione di JavaScript per l'assegnazione del punteggio | Per asta | |
ScoreAd |
Esecuzione di JavaScript per un annuncio | Per annuncio | |
GetAdSelectionLogic |
Carica la logica di selezione degli annunci del venditore | Per asta | |
RunAdOutcomeSelection |
Filtro finale | Per asta | |
Post-asta | PersistOnDeviceAdSelection |
Scrivere il risultato dell'asta nel database | Per asta |
Query per la latenza di esecuzione media
Perfetto può utilizzare query SQL per ottenere una misurazione precisa di ciò che accade all'interno di una traccia specifica.
Questa sezione descrive come misurare la latenza di esecuzione media per l'esecuzione di JavaScript.
- In Perfetto, vai a "Query (SQL)" nel riquadro di navigazione a sinistra.
Inserisci la seguente query:
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
Esegui la query ed esamina i risultati.
Risultati della query SQL in nanosecondi.