โปรไฟล์การประมูล Protected Audience

คุณสามารถวิเคราะห์การประมูลของ Protected Audience ได้ (ด้วยภาพหรือการค้นหาด้วย SQL) โดยใช้ Perfetto เทคโนโลยีโฆษณาสามารถใช้การจัดทำโปรไฟล์ด้วย Perfetto เพื่อวัดประสิทธิภาพของการประมูลกลุ่มเป้าหมายที่ได้รับการคุ้มครอง ซึ่งรวมถึงข้อมูลต่อไปนี้

  • เวลา CPU ของสคริปต์การเสนอราคาและการให้คะแนน
  • เวลาในการตอบสนองของคําขอ HTTP เช่น บริการคีย์/ค่า
  • ผลกระทบด้านประสิทธิภาพของแคชเย็นเทียบกับแคชร้อน
  • กลุ่มเป้าหมายที่กําหนดเองจํานวนมากเทียบกับจํานวนน้อย
  • ชุดสัญญาณขนาดใหญ่เทียบกับชุดสัญญาณขนาดเล็ก
  • สคริปต์ตรรกะการเสนอราคาที่แตกต่างกันตามกลุ่มเป้าหมายที่กำหนดเอง เมื่อเทียบกับการใช้สคริปต์เดียวกันสำหรับการเสนอราคาทั้งหมด

ตั้งค่า

  1. โคลนที่เก็บ Perfetto และ Privacy Sandbox

    git clone https://android.googlesource.com/platform/external/perfetto
    git clone https://github.com/android/privacy-sandbox-samples
  2. ใน Android Studio ให้เปิดแอปตัวอย่างกลุ่มเป้าหมายที่ได้รับการคุ้มครองจากไดเรกทอรี privacy-sandbox-samples/Fledge/FledgeKotlin

  3. สร้างและติดตั้งแอปตัวอย่างในอุปกรณ์ทดสอบหรือโปรแกรมจำลอง

เรียกใช้การประมูลและทำการติดตาม Perfetto

  1. ตั้งค่าและทำให้ปลายทาง HTTPS ที่ใช้ทดสอบใช้งานได้ จด URL ของปลายทางที่โฮสต์ไว้ เนื่องจากแอปเดโมกลุ่มเป้าหมายที่ได้รับการคุ้มครองต้องใช้งาน URL ดังกล่าว
  2. เปิดแอปเดโมโดยระบุ URL ของปลายทางทดสอบ แทนที่ <test-endpoint-url> ด้วย URL ปลายทางที่โฮสต์ซึ่งบันทึกไว้ในขั้นตอนก่อนหน้า

    adb shell am start -n com.example.adservices.samples.fledge.sampleapp/.MainActivity \
      -e baseUrl "<test-endpoint-url>"
  3. สลับ "Shoes CA" เพื่อให้แน่ใจว่ามีกลุ่มเป้าหมายที่กําหนดเองที่ใช้งานอยู่อย่างน้อย 1 กลุ่ม

    Shoes CA เปิดอยู่ในแอปเดโม
    แอปเดโมกลุ่มเป้าหมายที่ได้รับการคุ้มครอง
  4. บันทึกการติดตามโดยใช้ไฟล์ trace_config.textproto จากที่เก็บ GitHub ของเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ Privacy Sandbox โดยทำดังนี้

    ./perfetto/tools/record_android_trace \
      -c path/to/trace_config.textproto
  5. แตะปุ่ม "เรียกใช้การเลือกโฆษณา" แล้วรอผลการประมูล เมื่อการประมูลเสร็จสมบูรณ์แล้ว เอาต์พุตจะแสดงข้อความ เช่น "จะแสดงโฆษณาจาก http://example.com/bidding/render_shoes"

  6. ในเทอร์มินัล ให้สิ้นสุด (CTRL+C) โปรแกรม record_android_trace เพื่อสิ้นสุดการติดตาม UI ของ Perfetto จะเปิดขึ้นในเบราว์เซอร์โดยโหลดข้อมูลการติดตามไว้แล้ว

สํารวจร่องรอยด้วยภาพใน Perfetto

  1. ค้นหา "RunOnDeviceAdSelection" โดยใช้แถบที่อยู่ด้านบนของ UI คลิก Enter เพื่อค้นหาให้เสร็จสิ้นและแสดงผลลัพธ์

    UI ของ Perfetto ที่แสดงการประมูลที่ใช้ Protected Audience แทร็กต่างๆ เช่น RunOnDeviceAdSelection และ RunBidding จะปรากฏขึ้น
    การประมูล Protected Audience สำหรับผู้ซื้อรายเดียวใน Perfetto
  2. คลิกการติดตามเพื่อตรวจสอบ ดูรายละเอียด เช่น เวลาในการตอบสนองของการดำเนินการ ได้ที่นี่

    UI ของ 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

  1. ใน Perfetto ให้ไปที่ "การค้นหา (SQL)" ในแผงการนำทางด้านซ้าย
  2. ป้อนข้อความค้นหาต่อไปนี้

    SELECT AVG(dur)
    FROM slice
    WHERE slice.name GLOB 'FetchPayload';
    
  3. เรียกใช้การค้นหาและตรวจสอบผลลัพธ์

    ผลการค้นหา SQL เวลาในการตอบสนองโดยเฉลี่ยคือ 17693688 นาโนวินาที
    ผลลัพธ์การค้นหา SQL เป็นนาโนวินาที