สร้างโปรไฟล์การประมูลสำหรับกลุ่มเป้าหมายที่มีการป้องกัน

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

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

การตั้งค่า

  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 ให้เปิดแอปตัวอย่าง Protected Audience จากไดเรกทอรี privacy-sandbox-samples/Fledge/FledgeKotlin

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

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

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

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

    ภาพหน้าจอของแอปเดโม แป้นพิมพ์ลัดของรองเท้าเปิดใช้งานอยู่
    แอปเดโม Protected Audience
  4. บันทึกการติดตามโดยใช้ไฟล์ trace_config.textprof จากที่เก็บใน 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 และ RunBid จะปรากฏให้เห็น
    การประมูลกลุ่มเป้าหมายที่มีการป้องกันสำหรับผู้ซื้อรายเดียวใน Perfetto
  2. คลิกการติดตามเพื่อตรวจสอบ ดูรายละเอียด เช่น เวลาในการตอบสนอง ของการดำเนินการได้ที่นี่

    UI ของ Perfetto กำลังตรวจสอบกลุ่มการติดตาม ดูรายละเอียดเวลาในการตอบสนองได้
    การตรวจสอบกลุ่มการติดตาม

กลุ่มการติดตามเฉพาะสำหรับ Protected Audience

การประมูล Protected Audience เป็นกระบวนการที่ซับซ้อนและมีกลุ่มต่างๆ มากมายที่บันทึกโดยการติดตาม Perfetto ตารางนี้แสดงสิ่งที่แต่ละส่วนของการติดตาม อธิบายไว้

เวลา กลุ่ม คำอธิบาย ความถี่
ก่อนการประมูล RunOnDeviceAdSelection การประมูลแบบครบวงจร ต่อการประมูล
การเสนอราคา (ฝั่งซื้อ) FilterContextualAds ทำการกรองการติดตั้งแอปและความถี่สูงสุดในโฆษณาตามบริบท ต่อการประมูล
GetBuyersCustomAudience โหลดกลุ่มเป้าหมายที่กำหนดเองของผู้ซื้อจากฐานข้อมูล ต่อผู้ซื้อ
FilterCustomAudiences ทำการกรองการติดตั้งแอปและความถี่สูงสุดในกลุ่มเป้าหมายที่กำหนดเอง ต่อการประมูล
GetTrustedBiddingSignals โหลดสัญญาณการเสนอราคาของผู้ซื้อ ต่อผู้ซื้อ
RunBiddingPerCustomAudience การเสนอราคาโฆษณาสำหรับกลุ่มเป้าหมายที่กำหนดเองกลุ่มเดียว ต่อกลุ่มเป้าหมายที่กำหนดเอง
GetBuyerDecisionLogic โหลด JavaScript ของผู้ซื้อจากเครือข่ายหรือฐานข้อมูล หากแคชไว้ ต่อกลุ่มเป้าหมายที่กำหนดเอง
RunBidding การดำเนินการกับ JavaScript สำหรับผู้ซื้อ ต่อผู้ซื้อ
GenerateBids การดำเนินการของ JavaScript ในกลุ่มเป้าหมายที่กำหนดเอง ต่อกลุ่มเป้าหมายที่กำหนดเอง
การให้คะแนน (ฝั่งขาย) GetTrustedScoringSignals โหลดสัญญาณการให้คะแนนของผู้ขาย ต่อผู้ขาย
RunAdScoring การดำเนินการของ JavaScript สำหรับการให้คะแนน ต่อการประมูล
ScoreAd การเรียกใช้ JavaScript สำหรับโฆษณา ต่อโฆษณา
GetAdSelectionLogic โหลดตรรกะการเลือกโฆษณาของผู้ขาย ต่อการประมูล
RunAdOutcomeSelection การกรองขั้นสุดท้าย ต่อการประมูล
หลังการประมูล PersistOnDeviceAdSelection เขียนผลการประมูลไปยังฐานข้อมูล ต่อการประมูล

การค้นหาเวลาในการตอบสนองโดยเฉลี่ยของการดำเนินการ

Perfetto ใช้การค้นหา SQL เพื่อรับการวัดอย่างแม่นยำของสิ่งที่เกิดขึ้นภายในการติดตามหนึ่งๆ

ส่วนนี้จะแสดงวิธีวัดเวลาในการตอบสนองของการดำเนินการโดยเฉลี่ยสำหรับการเรียกใช้ JavaScript

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

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

    ผลการค้นหา SQL เวลาในการตอบสนองเฉลี่ยคือ 17693688 นาโนวินาที
    ผลการค้นหา SQL ในหน่วยนาโนวินาที