Le aste Protected Audience possono essere analizzate visivamente o tramite query SQL con Perfetto. Le tecnologie pubblicitarie possono utilizzare il profiling con Perfetto per misurare il rendimento delle aste Protected Audience, tra cui:
- Tempo di CPU dello script di offerte e determinazione del punteggio
- Latenza delle richieste HTTP, ad esempio il servizio chiave/valore
- Impatto sulle prestazioni della cache a freddo rispetto alla cache a caldo
- Più segmenti di pubblico personalizzati rispetto a meno
- Insiemi di indicatori più grandi o più piccoli
- Script di logica di offerta diversi per 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
.Compila e installa l'app di esempio sul dispositivo di test o sull'emulatore.
Esegui un'asta e acquisisci una traccia Perfetto
- Configura ed esegui il deployment di endpoint HTTPS di test. Prendi nota dell'URL degli endpoint ospitati, in quanto sono necessari per il funzionamento dell'app demo Protected Audience.
Avvia l'app di demo con un URL dell'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 "Segmento di pubblico personalizzato: scarpe" per assicurarti 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 annunci" e attendi i risultati dell'asta. Al termine dell'asta, nell'output viene visualizzato un messaggio, ad esempio "Verrebbe visualizzato l'annuncio di
http://example.com/bidding/render_shoes
".Nel terminale, termina (CTRL+C) il programma
record_android_trace
per completare la traccia. L'interfaccia utente di Perfetto si apre nel browser con i dati della 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 visualizzare i risultati:
Asta Protected Audience con un solo acquirente in Perfetto. Fai clic su una traccia per ispezionarla. I dettagli, come la latenza di esecuzione, sono disponibili qui.
Ispezione di un segmento di traccia.
Segmenti di traccia specifici per Protected Audience
L'asta Protected Audience è un processo complesso e esistono molti segmenti diversi acquisiti dalla traccia Perfetto. Questa tabella descrive cosa rappresenta ogni segmento di traccia.
Ora | Segmento | Descrizione | Frequenza |
---|---|---|---|
Pre asta | RunOnDeviceAdSelection |
Asta end-to-end | Per asta |
Offerte (lato acquirente) | FilterContextualAds |
Eseguire il filtro per installazione di app e quota limite negli annunci contestuali | Per asta |
GetBuyersCustomAudience |
Carica il segmento di pubblico personalizzato dell'acquirente dal database | Per acquirente | |
FilterCustomAudiences |
Eseguire il filtro delle installazioni di app e delle quote limite nei segmenti di pubblico personalizzati | Per asta | |
GetTrustedBiddingSignals |
Carica gli indicatori di offerta dell'acquirente | Per acquirente | |
RunBiddingPerCustomAudience |
Offerte per un singolo segmento di pubblico personalizzato | Per segmento di pubblico personalizzato | |
GetBuyerDecisionLogic |
Carica il codice 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 il calcolo 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 | |
Dopo l'asta | PersistOnDeviceAdSelection |
Scrivere il risultato dell'asta nel database | Per asta |
Esegui una query per la latenza media di esecuzione
Perfetto può utilizzare query SQL per ottenere una misurazione precisa di ciò che accade all'interno di una determinata traccia.
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.