คุณสามารถวิเคราะห์การประมูลของ Protected Audience ได้ (ด้วยภาพหรือการค้นหาด้วย SQL) โดยใช้ Perfetto เทคโนโลยีโฆษณาสามารถใช้การจัดทำโปรไฟล์ด้วย Perfetto เพื่อวัดประสิทธิภาพของการประมูลกลุ่มเป้าหมายที่ได้รับการคุ้มครอง ซึ่งรวมถึงข้อมูลต่อไปนี้
- เวลา 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 ให้เปิดแอปตัวอย่างกลุ่มเป้าหมายที่ได้รับการคุ้มครองจากไดเรกทอรี
privacy-sandbox-samples/Fledge/FledgeKotlin
สร้างและติดตั้งแอปตัวอย่างในอุปกรณ์ทดสอบหรือโปรแกรมจำลอง
เรียกใช้การประมูลและทำการติดตาม Perfetto
- ตั้งค่าและทำให้ปลายทาง HTTPS ที่ใช้ทดสอบใช้งานได้ จด URL ของปลายทางที่โฮสต์ไว้ เนื่องจากแอปเดโมกลุ่มเป้าหมายที่ได้รับการคุ้มครองต้องใช้งาน URL ดังกล่าว
เปิดแอปเดโมโดยระบุ 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 กลุ่ม
แอปเดโมกลุ่มเป้าหมายที่ได้รับการคุ้มครอง บันทึกการติดตามโดยใช้ไฟล์ 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 สำหรับผู้ซื้อรายเดียวใน Perfetto คลิกการติดตามเพื่อตรวจสอบ ดูรายละเอียด เช่น เวลาในการตอบสนองของการดำเนินการ ได้ที่นี่
การตรวจสอบส่วนของการติดตาม
กลุ่มการติดตามเฉพาะกลุ่มเป้าหมายที่ได้รับการปกป้อง
การประมูล Protected Audience เป็นกระบวนการที่ซับซ้อนและมีกลุ่มเป้าหมายหลายกลุ่มที่การติดตาม Perfetto บันทึกไว้ ตารางนี้จะแสดงสิ่งที่แต่ละส่วนการติดตามแสดง
เวลา | กลุ่ม | คำอธิบาย | ความถี่ |
---|---|---|---|
ช่วงก่อนการประมูล | RunOnDeviceAdSelection |
การประมูลจากต้นทางถึงปลายทาง | ต่อหนึ่งการประมูล |
การเสนอราคา (ฝั่งซื้อ) | FilterContextualAds |
กรองการติดตั้งแอปและการจำกัดความถี่สูงสุดในโฆษณาตามบริบท | ต่อหนึ่งการประมูล |
GetBuyersCustomAudience |
โหลดกลุ่มเป้าหมายที่กําหนดเองของผู้ซื้อจากฐานข้อมูล | ต่อผู้ซื้อ 1 ราย | |
FilterCustomAudiences |
กรองการติดตั้งแอปและความถี่สูงสุดในกลุ่มเป้าหมายที่กําหนดเอง | ต่อหนึ่งการประมูล | |
GetTrustedBiddingSignals |
โหลดสัญญาณการเสนอราคาของผู้ซื้อ | ต่อผู้ซื้อ 1 ราย | |
RunBiddingPerCustomAudience |
การเสนอราคาโฆษณาสําหรับกลุ่มเป้าหมายที่กําหนดเองกลุ่มเดียว | ต่อกลุ่มเป้าหมายที่กำหนดเอง | |
GetBuyerDecisionLogic |
โหลด JavaScript ของผู้ซื้อจากเครือข่ายหรือฐานข้อมูล หากมีการแคชไว้ | ต่อกลุ่มเป้าหมายที่กำหนดเอง | |
RunBidding |
การดำเนินการกับ JavaScript สำหรับผู้ซื้อ | ต่อผู้ซื้อ 1 ราย | |
GenerateBids |
การดำเนินการ JavaScript สําหรับกลุ่มเป้าหมายที่กําหนดเอง | ต่อกลุ่มเป้าหมายที่กำหนดเอง | |
การให้คะแนน (ฝั่งผู้ขาย) | GetTrustedScoringSignals |
โหลดสัญญาณการให้คะแนนของผู้ขาย | ต่อผู้ขาย |
RunAdScoring |
การดำเนินการกับ JavaScript สำหรับการให้คะแนน | ต่อหนึ่งการประมูล | |
ScoreAd |
การดำเนินการกับ JavaScript สําหรับโฆษณา | ต่อโฆษณา | |
GetAdSelectionLogic |
โหลดตรรกะการเลือกโฆษณาของผู้ขาย | ต่อหนึ่งการประมูล | |
RunAdOutcomeSelection |
การกรองขั้นสุดท้าย | ต่อหนึ่งการประมูล | |
หลังการประมูล | PersistOnDeviceAdSelection |
เขียนผลการประมูลลงในฐานข้อมูล | ต่อหนึ่งการประมูล |
การค้นหาเวลาในการตอบสนองโดยเฉลี่ยของการดำเนินการ
Perfetto สามารถใช้การค้นหา SQL เพื่อวัดสิ่งที่เกิดขึ้นภายในการติดตามหนึ่งๆ อย่างแม่นยำ
ส่วนนี้จะอธิบายวิธีวัดเวลาในการตอบสนองโดยเฉลี่ยของการดำเนินการสําหรับการเรียกใช้ JavaScript
- ใน Perfetto ให้ไปที่ "การค้นหา (SQL)" ในแผงการนำทางด้านซ้าย
ป้อนข้อความค้นหาต่อไปนี้
SELECT AVG(dur) FROM slice WHERE slice.name GLOB 'FetchPayload';
เรียกใช้การค้นหาและตรวจสอบผลลัพธ์
ผลลัพธ์การค้นหา SQL เป็นนาโนวินาที