Lelang Protected Audience dapat dianalisis (baik secara visual maupun dengan kueri SQL dengan Perfetto. Teknologi iklan dapat menggunakan pembuatan profil dengan Perfetto untuk mengukur performa lelang Protected Audience, termasuk:
- Waktu CPU skrip bidding dan penskoran
- Latensi permintaan HTTP seperti layanan kunci/nilai
- Dampak performa cache dingin versus cache hot
- Audiens kustom lebih banyak versus lebih sedikit
- Kumpulan sinyal yang lebih besar versus lebih kecil
- Skrip logika bidding yang berbeda per audiens kustom dibandingkan dengan penggunaan skrip yang sama untuk semua bidding
Penyiapan
Clone repositori Perfetto dan Privacy Sandbox.
git clone https://android.googlesource.com/platform/external/perfetto
git clone https://github.com/android/privacy-sandbox-samples
Di Android Studio, buka aplikasi contoh Protected Audience dari direktori
privacy-sandbox-samples/Fledge/FledgeKotlin
.Build dan instal aplikasi contoh di emulator atau perangkat pengujian.
Menjalankan lelang dan mengambil rekaman aktivitas Perfetto
- Siapkan dan deploy endpoint HTTPS pengujian. Catat URL endpoint yang dihosting karena diperlukan agar aplikasi demo Protected Audience dapat berfungsi.
Luncurkan aplikasi demo dengan URL endpoint pengujian yang telah ditentukan. Ganti
<test-endpoint-url>
dengan URL endpoint yang dihosting dan Anda catat di langkah sebelumnya.adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \ -e baseUrl "<test-endpoint-url>"
Alihkan tombol "Sepatu CA" untuk memastikan ada setidaknya 1 audiens kustom yang aktif.
Catat rekaman aktivitas menggunakan file trace_config.textproto dari repositori GitHub DevTools Privacy Sandbox:
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textproto
Ketuk tombol "Run Ad Selection" dan tunggu hasil lelangnya. Setelah lelang selesai, output akan menampilkan pesan seperti "Akan menampilkan iklan dari
http://example.com/bidding/render_shoes
".Di terminal Anda, hentikan (CTRL+C) program
record_android_trace
untuk menyelesaikan rekaman aktivitas. UI Perfetto terbuka di browser Anda dengan data rekaman aktivitas dimuat.
Menjelajahi rekaman aktivitas secara visual di Perfetto
Telusuri "RunOnDeviceAdSelection" menggunakan kolom URL di bagian atas UI. Klik Enter untuk menyelesaikan penelusuran dan menampilkan hasilnya:
Klik rekaman aktivitas untuk memeriksanya. Detail seperti latensi eksekusi tersedia di sini.
Segmen rekaman aktivitas khusus Protected Audience
Lelang Protected Audience adalah proses yang kompleks dan ada banyak segmen berbeda yang ditangkap oleh rekaman aktivitas Perfetto. Tabel ini mendokumentasikan apa yang direpresentasikan oleh setiap segmen rekaman aktivitas.
Waktu | Segmen | Deskripsi | Frekuensi |
---|---|---|---|
Pra-lelang | RunOnDeviceAdSelection |
Lelang menyeluruh | Per lelang |
Bidding (sisi beli) | FilterContextualAds |
Melakukan pemfilteran penginstalan aplikasi dan pembatasan frekuensi pada iklan kontekstual | Per lelang |
GetBuyersCustomAudience |
Memuat audiens kustom pembeli dari database | Per pembeli | |
FilterCustomAudiences |
Melakukan pemfilteran penginstalan aplikasi dan pembatasan frekuensi pada audiens kustom | Per lelang | |
GetTrustedBiddingSignals |
Memuat sinyal bidding pembeli | Per pembeli | |
RunBiddingPerCustomAudience |
Bidding iklan untuk satu audiens kustom | Per audiens kustom | |
GetBuyerDecisionLogic |
Memuat JavaScript pembeli dari jaringan, atau database, jika di-cache | Per audiens kustom | |
RunBidding |
Eksekusi JavaScript untuk pembeli | Per pembeli | |
GenerateBids |
Eksekusi JavaScript untuk audiens kustom | Per audiens kustom | |
Penskoran (sisi jual) | GetTrustedScoringSignals |
Memuat sinyal penskoran penjual | Per penjual |
RunAdScoring |
Eksekusi JavaScript untuk penskoran | Per lelang | |
ScoreAd |
Eksekusi JavaScript untuk iklan | Per iklan | |
GetAdSelectionLogic |
Memuat logika pemilihan iklan penjual | Per lelang | |
RunAdOutcomeSelection |
Pemfilteran akhir | Per lelang | |
Pasca-lelang | PersistOnDeviceAdSelection |
Menuliskan hasil lelang ke database | Per lelang |
Mengkueri latensi eksekusi rata-rata
Perfetto dapat menggunakan kueri SQL untuk mendapatkan pengukuran yang akurat mengenai apa yang terjadi di dalam rekaman aktivitas tertentu.
Bagian ini mendokumentasikan cara mengukur latensi eksekusi rata-rata untuk eksekusi JavaScript.
- Di Perfetto, buka "Kueri (SQL)" di panel navigasi kiri.
Masukkan kueri berikut:
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
Jalankan kueri dan periksa hasilnya.