คุณสามารถวิเคราะห์การประมูล Protected Audience ได้ (ด้วยภาพหรือ โดยใช้การค้นหา SQL ด้วย Perfetto) เทคโนโลยีโฆษณาสามารถใช้การสร้างโปรไฟล์ ด้วย Perfetto เพื่อวัดประสิทธิภาพของการประมูล Protected Audience ซึ่งรวมถึงสิ่งต่อไปนี้
- เวลา CPU ของสคริปต์การเสนอราคาและการให้คะแนน
- เวลาในการตอบสนองของคำขอ HTTP เช่น บริการคีย์/ค่า
- ผลกระทบต่อประสิทธิภาพของแคชเย็นเทียบกับแคชร้อน
- กลุ่มเป้าหมายที่กำหนดเองมากหรือน้อย
- ชุดสัญญาณขนาดใหญ่และขนาดเล็ก
- สคริปต์ตรรกะการเสนอราคาที่แตกต่างกันต่อกลุ่มเป้าหมายที่กำหนดเองแต่ละกลุ่มเมื่อเทียบกับการใช้ สคริปต์เดียวกันสำหรับการเสนอราคาทั้งหมด
ตั้งค่า
โคลนที่เก็บ Perfetto และ Privacy Sandbox
git clone https://android.googlesource.com/platform/external/perfetto
git clone https://github.com/android/privacy-sandbox-samples
ใน Android Studio ให้เปิดแอปตัวอย่าง Protected Audience จากไดเรกทอรี
privacy-sandbox-samples/Fledge/FledgeKotlin
สร้างและติดตั้งแอปตัวอย่างในอุปกรณ์ทดสอบหรือโปรแกรมจำลอง
เรียกใช้การประมูลและใช้ Perfetto Trace
- ตั้งค่าและทำให้ปลายทาง HTTPS สำหรับทดสอบใช้งานได้ จด URL ของปลายทางที่โฮสต์ไว้ เนื่องจากจำเป็นสำหรับแอปเดโม Protected Audience API เพื่อให้ทำงานได้
เปิดแอปเดโมโดยระบุ URL ปลายทางการทดสอบ แทนที่
<test-endpoint-url>
ด้วย URL ของปลายทางที่โฮสต์ซึ่งคุณบันทึกไว้ใน ขั้นตอนก่อนหน้าadb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \ -e baseUrl "<test-endpoint-url>"
สลับ "Shoes CA" เพื่อยืนยันว่ามีกลุ่มเป้าหมายที่กำหนดเองที่ใช้งานอยู่อย่างน้อย 1 กลุ่ม
แอปเดโม Protected Audience บันทึกการติดตามโดยใช้ไฟล์ trace_config.textproto จากที่เก็บ GitHub ของเครื่องมือสำหรับนักพัฒนาเว็บ Privacy Sandbox โดยทำดังนี้
./perfetto/tools/record_android_trace \ -c path/to/trace_config.textproto
แตะปุ่ม "เรียกใช้การเลือกโฆษณา" แล้วรอผลการประมูล เมื่อ การประมูลเสร็จสมบูรณ์แล้ว เอาต์พุตจะแสดงข้อความ เช่น "จะแสดง โฆษณาจาก
http://example.com/bidding/render_shoes
"ในเทอร์มินัล ให้สิ้นสุด (CTRL+C) โปรแกรม
record_android_trace
เพื่อ สิ้นสุดการติดตาม UI ของ Perfetto จะเปิดขึ้นในเบราว์เซอร์พร้อมกับข้อมูลการติดตามที่โหลดแล้ว
สำรวจการติดตามด้วยภาพใน Perfetto
ค้นหา "RunOnDeviceAdSelection" โดยใช้แถบที่อยู่ด้านบนของ UI คลิก Enter เพื่อทำการค้นหาให้เสร็จสิ้นและแสดงผลลัพธ์
การประมูลที่ใช้ Protected Audience API แบบผู้ซื้อรายเดียวใน Perfetto คลิกการติดตามเพื่อตรวจสอบ ดูรายละเอียด เช่น เวลาในการตอบสนองของการดำเนินการ ได้ที่นี่
การตรวจสอบกลุ่มการติดตาม
กลุ่มการติดตามเฉพาะ Protected Audience
การประมูลที่ใช้ Protected Audience API เป็นกระบวนการที่ซับซ้อนและมีกลุ่มต่างๆ มากมาย ที่บันทึกโดยการติดตาม Perfetto ตารางนี้จะบันทึกสิ่งที่แต่ละส่วนของร่องรอย แสดง
เวลา | กลุ่ม | คำอธิบาย | ความถี่ |
---|---|---|---|
ก่อนการประมูล | RunOnDeviceAdSelection |
การประมูลแบบครบวงจร | ต่อการประมูล |
การเสนอราคา (ฝั่งซื้อ) | FilterContextualAds |
กรองการติดตั้งแอปและความถี่สูงสุดในโฆษณาตามบริบท | ต่อการประมูล |
GetBuyersCustomAudience |
โหลดกลุ่มเป้าหมายที่กำหนดเองของผู้ซื้อจากฐานข้อมูล | ต่อผู้ซื้อ | |
FilterCustomAudiences |
กรองการติดตั้งแอปและความถี่สูงสุดในกลุ่มเป้าหมายที่กำหนดเอง | ต่อการประมูล | |
GetTrustedBiddingSignals |
โหลดสัญญาณการเสนอราคาของผู้ซื้อ | ต่อผู้ซื้อ | |
RunBiddingPerCustomAudience |
การเสนอราคาโฆษณาสําหรับกลุ่มเป้าหมายที่กําหนดเองกลุ่มเดียว | ต่อกลุ่มเป้าหมายที่กำหนดเอง | |
GetBuyerDecisionLogic |
โหลด JavaScript ของผู้ซื้อจากเครือข่ายหรือฐานข้อมูล หากแคชไว้ | ต่อกลุ่มเป้าหมายที่กำหนดเอง | |
RunBidding |
การดำเนินการ JavaScript สำหรับผู้ซื้อ | ต่อผู้ซื้อ | |
GenerateBids |
การเรียกใช้ JavaScript สำหรับกลุ่มเป้าหมายที่กำหนดเอง | ต่อกลุ่มเป้าหมายที่กำหนดเอง | |
การให้คะแนน (ฝั่งผู้ขาย) | GetTrustedScoringSignals |
โหลดสัญญาณการให้คะแนนของผู้ขาย | ต่อผู้ขาย |
RunAdScoring |
การดำเนินการ JavaScript สำหรับการให้คะแนน | ต่อการประมูล | |
ScoreAd |
การดำเนินการ JavaScript สำหรับโฆษณา | ต่อโฆษณา | |
GetAdSelectionLogic |
โหลดตรรกะการเลือกโฆษณาของผู้ขาย | ต่อการประมูล | |
RunAdOutcomeSelection |
การกรองขั้นสุดท้าย | ต่อการประมูล | |
หลังการประมูล | PersistOnDeviceAdSelection |
เขียนผลการประมูลลงในฐานข้อมูล | ต่อการประมูล |
ค้นหาเวลาในการตอบสนองในการดำเนินการโดยเฉลี่ย
Perfetto สามารถใช้การค้นหา SQL เพื่อวัดสิ่งที่เกิดขึ้นอย่างแม่นยำ ภายในร่องรอยที่เฉพาะเจาะจง
ส่วนนี้จะบันทึกวิธีวัดเวลาในการตอบสนองเฉลี่ยของการดำเนินการสำหรับ การดำเนินการ JavaScript
- ใน Perfetto ให้ไปที่ "Query (SQL)" ในแผงการนำทางด้านซ้าย
ป้อนคำค้นหาต่อไปนี้
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
เรียกใช้คำค้นหาและตรวจสอบผลลัพธ์
ผลลัพธ์การค้นหา SQL ในหน่วยนาโนวินาที