Le aste di Protected Audience possono essere analizzate (visivamente o per query SQL con Perfetto. Gli ad tech possono usare 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 il servizio chiave/valore
- Impatto sulle prestazioni della cache fredda e della cache attiva
- Più segmenti di pubblico personalizzati
- Set di indicatori più grandi e più piccoli
- Script logici 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
.Crea e installa l'app di esempio nel dispositivo o nell'emulatore di test.
Fai un'asta e fai una traccia Perfetto
- Configurare ed eseguire il deployment degli 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 demo specificando un URL dell'endpoint di test. 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 "Shoes CA" per assicurarti che sia attivo almeno un segmento di pubblico personalizzato.
Registra una traccia utilizzando il file trace_config.textproto dal repository GitHub di DevTools di Privacy Sandbox:
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textproto
Tocca il pulsante "Esegui selezione degli annunci" e attendi i risultati dell'asta. Al termine dell'asta, l'output mostra un messaggio del tipo "Verrebbe mostrato l'annuncio di
http://example.com/bidding/render_shoes
".Nel terminale, termina (Ctrl+C) il programma
record_android_trace
per terminare la traccia. L'UI di Perfetto si apre nel browser con i dati della traccia caricati.
Esplora 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:
Fai clic su una traccia per ispezionarla. Dettagli come la latenza di esecuzione sono disponibili qui.
Segmenti di traccia specifici di Protected Audience
L'asta di Protected Audience è una procedura complessa e la traccia Perfetto cattura diversi segmenti. Questa tabella documenta ciò che rappresenta ogni segmento di traccia.
Tempo | Segmento | Descrizione | Frequenza |
---|---|---|---|
Pre-asta | RunOnDeviceAdSelection |
End-to-end dell'asta | Per asta |
Offerte (per gli acquirenti) | FilterContextualAds |
Applicazione di filtri alle installazioni di app e alla quota limite negli annunci contestuali | Per asta |
GetBuyersCustomAudience |
Carica il segmento di pubblico personalizzato dell'acquirente dal database | Per acquirente | |
FilterCustomAudiences |
Applicazione di filtri a installazioni di app e quota limite per i 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 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 vendita) | GetTrustedScoringSignals |
Carica gli indicatori di punteggio del venditore | Per venditore |
RunAdScoring |
Esecuzione di JavaScript per il 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 |
Scrivi il risultato dell'asta nel database | Per asta |
Query per la latenza media di esecuzione
Perfetto può usare query SQL per ottenere una misurazione precisa di ciò che sta accadendo in una determinata traccia.
Questa sezione documenta come misurare la latenza media di esecuzione per l'esecuzione di JavaScript.
- In Perfetto, vai a "Query (SQL)" nel riquadro di navigazione a sinistra.
Inserisci la query seguente:
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
Esegui la query e controlla i risultati.