การผสานรวมและการเพิ่มประสิทธิภาพบริการการเสนอราคาและบริการประมูล

ข้อเสนอการออกแบบบริการเสนอราคาและประมูลสำหรับ Android ระบุรายละเอียดการดำเนินการและโฟลว์ข้อมูลของการประมูลที่ทำงานใน Android โดยใช้เซิร์ฟเวอร์การเสนอราคาและการประมูลที่เชื่อถือได้ เพื่อให้มั่นใจว่า API ที่รักษาความเป็นส่วนตัวและเซิร์ฟเวอร์ที่เชื่อถือได้เท่านั้นที่จะจัดการข้อมูลที่รับส่ง ระบบจะเข้ารหัสข้อมูลระหว่างไคลเอ็นต์กับเซิร์ฟเวอร์โดยใช้การเข้ารหัสคีย์สาธารณะแบบไฮบริดแบบ 2 ทาง

ภาพขั้นตอนของกลุ่มเป้าหมายที่มีการป้องกัน คอลัมน์ 3 คอลัมน์แสดงวิธีที่ข้อมูลเคลื่อนที่ระหว่างอุปกรณ์ บริการของผู้ขายที่ไม่น่าเชื่อถือ และสภาพแวดล้อมการดำเนินการที่เชื่อถือได้
ขั้นตอนการประมูลที่ใช้ Protected Audience API

หากต้องการเรียกใช้การประมูลตามที่อธิบายไว้ก่อนหน้านี้ เทคโนโลยีโฆษณาของผู้ขายในอุปกรณ์ต้อง ทำตามขั้นตอนต่อไปนี้

  1. รวบรวมและเข้ารหัสข้อมูลสำหรับการประมูลเซิร์ฟเวอร์
  2. ส่งคำขอไปยังบริการผู้ขายที่ไม่น่าเชื่อถือ
  3. รับการตอบกลับจากบริการของผู้ขายที่ไม่น่าเชื่อถือ
  4. ถอดรหัสการตอบกลับการประมูลที่ใช้ Protected Audience API และรับผลการประมูล

Protected Audience จะเปิดตัว API ใหม่ 2 รายการเพื่อรองรับการประมูลฝั่งเซิร์ฟเวอร์ ดังนี้

  1. getAdSelectionData API รวบรวมข้อมูลสำหรับการประมูลฝั่งเซิร์ฟเวอร์และสร้างเพย์โหลดที่เข้ารหัสซึ่งมีข้อมูลการประมูล เซิร์ฟเวอร์การเสนอราคาและการประมูล ใช้เพย์โหลดนี้เพื่อเรียกใช้การประมูล สร้างผลลัพธ์การประมูล และแสดงผลลัพธ์การประมูล
  2. ไคลเอ็นต์เทคโนโลยีโฆษณาในอุปกรณ์สามารถเรียกใช้ persistAdSelectionResult API เพื่อ ถอดรหัสผลลัพธ์ที่สร้างขึ้นจากการประมูลของเซิร์ฟเวอร์และรับ URL การแสดงโฆษณาที่ชนะ

เทคโนโลยีโฆษณาของผู้ขายในอุปกรณ์ต้องผสานรวมและสร้างสิ่งต่อไปนี้เพื่อ เรียกใช้การประมูล

  1. รวบรวมและเข้ารหัสข้อมูลสำหรับผู้ขายในการประมูลฝั่งเซิร์ฟเวอร์: เทคโนโลยีโฆษณาควรเรียกใช้ getAdSelectionData API เพื่อรับเพย์โหลดที่เข้ารหัส
  2. ส่งคำขอไปยังบริการผู้ขายที่ไม่น่าเชื่อถือ: คำขอ HTTP POST หรือ PUT ที่มีเพย์โหลดที่เข้ารหัสซึ่งสร้างโดย getAdSelectionData API ไปยังบริการผู้ขายที่ไม่น่าเชื่อถือและข้อมูลที่บริการผู้ขายที่ไม่น่าเชื่อถือต้องใช้เพื่อสร้างผลลัพธ์ตามบริบท
  3. รับการตอบกลับจากบริการของผู้ขายที่ไม่น่าเชื่อถือ: การตอบกลับจากบริการของผู้ขายที่ไม่น่าเชื่อถือจะมีผลการประมูลที่ใช้ Protected Audience API ที่เข้ารหัส และผลการประมูลตามบริบท
  4. ถอดรหัสการตอบกลับการประมูลกลุ่มเป้าหมายที่มีการป้องกันและรับผลการประมูล: เทคโนโลยีโฆษณาของผู้ขายควรเรียกใช้ API persistAdSelectionResult เพื่อถอดรหัสผลการประมูลกลุ่มเป้าหมายที่มีการป้องกัน ผลลัพธ์ที่สร้างโดย persistAdSelectionResult จะช่วยให้เทคโนโลยีโฆษณากำหนดได้ว่าโฆษณาตามบริบท หรือโฆษณา Protected Audience ชนะการประมูล และ URI ของโฆษณา Protected Audience ที่ชนะ (หากมี)

ฟีเจอร์ที่รองรับการประมูลฝั่งเซิร์ฟเวอร์

เรามุ่งมั่นที่จะรองรับฟีเจอร์ทั้งหมดที่พร้อมใช้งานสำหรับการประมูลในอุปกรณ์ ไทม์ไลน์สำหรับการรองรับฟีเจอร์เหล่านี้ในการประมูลเซิร์ฟเวอร์มีดังนี้

การประมูลในอุปกรณ์

การประมูลฝั่งเซิร์ฟเวอร์

ตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์

เบต้า

ตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์

เบต้า

การรายงานการชนะระดับเหตุการณ์

ไตรมาส 1 ปี 2023

ไตรมาส 3 ปี 2023

ไม่มี

ไตรมาส 4 ปี 2023

สื่อกลาง Waterfall

ไตรมาส 1 ปี 2023

ไตรมาส 4 ปี 2023

ไม่มี

ไตรมาส 1 ปี 24

การกรองความถี่สูงสุด

ไตรมาส 2 ปี 2023

ไตรมาส 3 ปี 2023

ไม่มี

ไตรมาส 4 ปี 2023

ส่งโฆษณาตามบริบทไปยังเวิร์กโฟลว์การเลือกโฆษณาเพื่อกรอง

ไตรมาส 2 ปี 2023

ไตรมาสที่ 1 ปี 2024

ไม่มี

ไม่มี

การรายงานการโต้ตอบ

ไตรมาส 2 ปี 2023

ไตรมาส 3 ปี 2023

ไม่มี

ไตรมาส 4 ปี 2023

เข้าร่วมการมอบสิทธิ์กลุ่มเป้าหมายที่กำหนดเอง

ไตรมาส 3 ปี 2023

ไตรมาส 4 ปี 2023

ไม่มี

ไตรมาส 4 ปี 2023

การเรียกเก็บเงินที่ไม่ใช่ CPM

ไตรมาส 3 ปี 2023

ไตรมาส 4 ปี 2023

การรายงาน
การแก้ไขข้อบกพร่อง

ไตรมาส 3 ปี 2023

ไตรมาส 4 ปี 2023

ไตรมาส 3 ปี 2023

ไตรมาส 4 ปี 2023

สื่อกลางการเสนอราคาแบบเปิด

ไม่มี

ไม่มี

ไม่มี

ไตรมาสที่ 1 ปี 2024

การกรองโฆษณาเพื่อการติดตั้งแอป

ไตรมาส 2 ปี 2023

ไตรมาสที่ 1 ปี 2024

ไม่มี

ไตรมาสที่ 1 ปี 2024

การจัดการสกุลเงิน

ไม่มี

ไม่มี

ไม่มี

ไตรมาสที่ 1 ปี 2024

การผสานรวม K-anon

ไม่มี

ไตรมาสที่ 1 ปี 2024

ไม่มี

ไตรมาสที่ 1 ปี 2024

การผสานรวม Private Aggregation

ไม่มี

ไม่มี

ไม่มี

ไตรมาสที่ 3 ปี 2024

เรียกใช้การประมูลฝั่งเซิร์ฟเวอร์โดยใช้ Protected Audience API

ในแทร็กเวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ AdSelectionManager จะแสดง API ใหม่ 2 รายการ ได้แก่ getAdSelectionData และ persistAdSelectionResult API เหล่านี้ช่วยให้ SDK เทคโนโลยีโฆษณา ผสานรวมกับเซิร์ฟเวอร์การเสนอราคาและการประมูลได้

รวบรวมและเข้ารหัสข้อมูลสำหรับการประมูลเซิร์ฟเวอร์

getAdSelectionData API จะสร้างอินพุตที่จำเป็นสำหรับคอมโพเนนต์การเสนอราคาและการประมูล เช่น BuyerInput และ ProtectedAudienceInput และเข้ารหัสข้อมูลก่อนที่จะทำให้ผู้เรียกใช้เห็นผลลัพธ์ เพื่อป้องกันไม่ให้ข้อมูลรั่วไหลในแอปต่างๆ ข้อมูลนี้จึงมีข้อมูลจากผู้ซื้อทั้งหมดที่อยู่ในอุปกรณ์ อ่านเพิ่มเติมเกี่ยวกับ การตัดสินใจนี้ในส่วนข้อควรพิจารณาด้านความเป็นส่วนตัวและกลยุทธ์ในการ เพิ่มประสิทธิภาพในส่วนข้อควรพิจารณาด้านขนาด

หากต้องการเข้าถึง API คุณต้องเปิดใช้การเข้าถึง Protected Audience API และต้องกำหนดสิทธิ์ ACCESS_ADSERVICES_CUSTOM_AUDIENCE ใน ไฟล์ Manifest ของผู้เรียก

public class AdSelectionManager {
    public void getAdSelectionData(
            GetAdSelectionDataRequest getAdSelectionDataRequest,
            Executor executor,
            OutcomeReceiver<GetAdSelectionDataOutcome, Exception> receiver) {}
}

GetAdSelectionDataRequest

  1. ผู้โทรต้องตั้งค่าฟิลด์ seller ในคำขอเนื่องจากใช้เพื่อเรียกใช้ การตรวจสอบการลงทะเบียนก่อนให้บริการคำขอ
  2. ฟิลด์ coordinatorOriginUri เป็นฟิลด์ที่ไม่บังคับ
    1. หากตั้งค่าไว้ ค่านี้ควรเท่ากับสคีม ชื่อโฮสต์ และพอร์ตของ URL ของผู้ประสานงานที่กำหนดค่าไว้ขณะ ติดตั้งใช้งานเซิร์ฟเวอร์ B&A ของผู้ขาย
    2. ผู้ประสานงานต้องอยู่ในรายชื่อผู้ประสานงานที่ได้รับอนุมัติ
      ผู้ให้บริการ URI ต้นทางของ URI ค่าเริ่มต้น
      Google Cloud https://publickeyservice.pa.gcp.privacysandboxservices.com/.well-known/protected-auction/v1/public-keys https://publickeyservice.pa.gcp.privacysandboxservices.com ใช่
      Amazon Web Services https://publickeyservice.pa.aws.privacysandboxservices.com/.well-known/protected-auction/v1/public-keys https://publickeyservice.pa.aws.privacysandboxservices.com ไม่
    3. หากไม่ได้ระบุต้นทางของโคออร์ดิเนเตอร์ ระบบจะใช้โคออร์ดิเนเตอร์เริ่มต้น
    4. แม้ว่า URL ของผู้ประสานงานจะไม่น่าจะมีการเปลี่ยนแปลง แต่เราขอแนะนำเป็นอย่างยิ่งให้ใช้กลไกในการจัดการ URL นี้แบบไดนามิก ซึ่งจะช่วยให้รองรับการเปลี่ยนแปลง URL ในอนาคตได้โดยไม่ต้องเผยแพร่ SDK ใหม่
public class GetAdSelectionDataRequest {
  public setSeller(AdTechIdentifier seller);
  public setCoordinatorOriginUri(Uri coordinatorOriginUri)
}

หลังจากตรวจสอบคำขอแล้ว ระบบจะรวบรวมข้อมูลผู้ซื้อในอุปกรณ์เป็น BuyerInput และ ProtectedAudienceInput จากนั้นระบบจะเข้ารหัสออบเจ็กต์เพย์โหลดสุดท้ายโดยใช้การเข้ารหัสคีย์สาธารณะแบบไฮบริดแบบ 2 ทาง

GetAdSelectionDataOutcome

GetAdSelectionDataOutcome จะสร้างขึ้นเป็นผลลัพธ์ของ getAdSelectionData API โดยมีข้อมูลต่อไปนี้

  1. adSelectionId: จำนวนเต็มทึบแสงเพื่อระบุการเรียกใช้ getAdSelectionData นี้ ไคลเอ็นต์เทคโนโลยีโฆษณาควรเก็บค่า adSelectionIdนี้ไว้เนื่องจากค่านี้ทำหน้าที่เป็นตัวชี้ไปยังการเรียกใช้ getAdSelectionData persistAdSelectionResult API ต้องใช้ตัวระบุนี้เพื่อถอดรหัสผลการประมูลจากเซิร์ฟเวอร์การเสนอราคา และการประมูล รวมถึง reportImpression และ reportEvent API ก็ต้องใช้ตัวระบุนี้ด้วย
  2. adSelectionData: นี่คือข้อมูลการประมูลที่เข้ารหัสซึ่งเซิร์ฟเวอร์การเสนอราคาและการประมูลจะต้องใช้เพื่อเรียกใช้การประมูล เมธอดนี้ ประกอบด้วย
    1. ข้อมูลกลุ่มเป้าหมายที่กำหนดเองที่กรองแล้วตามการกำหนดความถี่สูงสุด ตัวกรองการติดตั้งแอป และข้อกำหนดการประมูลฝั่งเซิร์ฟเวอร์สำหรับกลุ่มเป้าหมายที่กำหนดเอง
    2. ในเวอร์ชันอนาคต รายงานนี้จะมีข้อมูลการติดตั้งแอป
public class GetAdSelectionDataOutcome {
  Public getAdSelectionId(long adSelectionId);
  public byte[] getAdSelectionData();
}

การจัดการข้อผิดพลาด ข้อยกเว้น และความล้มเหลว

หากสร้างข้อมูลการเลือกโฆษณาไม่สำเร็จเนื่องจาก เหตุผลต่างๆ เช่น อาร์กิวเมนต์ไม่ถูกต้อง หมดเวลา หรือใช้ทรัพยากรมากเกินไป OutcomeReceiver.onError()การเรียกกลับจะให้ AdServicesException ที่มี ลักษณะการทำงานต่อไปนี้

  1. หากเริ่ม getAdSelectionData ด้วยอาร์กิวเมนต์ที่ไม่ถูกต้อง AdServicesException จะระบุ IllegalArgumentException เป็นสาเหตุ
  2. ข้อผิดพลาดอื่นๆ ทั้งหมดจะได้รับ AdServicesException โดยมีIllegalStateException เป็นสาเหตุ

ส่งคำขอไปยังบริการของผู้ขายที่ไม่น่าเชื่อถือ

เมื่อใช้ AdSelectionData SDK ในอุปกรณ์จะส่งคำขอไปยังบริการโฆษณาของผู้ขาย ได้โดยรวมข้อมูลไว้ในคำขอ POST หรือ PUT ดังนี้

fetch('https://www.example-ssp.com/auction', {
  method: "PUT",
  body: data,
...
})

SDK ในอุปกรณ์มีหน้าที่เข้ารหัสข้อมูลนี้ เราขอแนะนำให้ ใช้โซลูชันที่ประหยัดพื้นที่ เช่น การส่งคำขอไปยังโฆษณาของผู้ขาย เป็น multipart/form-data

รับการตอบกลับจากบริการของผู้ขายที่ไม่น่าเชื่อถือ

ดังที่ระบุไว้ในคำอธิบายเซิร์ฟเวอร์การเสนอราคาและการประมูล เมื่อบริการผู้ขายที่ไม่น่าเชื่อถือได้รับคำขอ จะมีการเรียกผู้ซื้อพาร์ทเนอร์เพื่อแสดงโฆษณาตามบริบท

บริการของผู้ขายที่ไม่น่าเชื่อถือจะส่งต่อ adSelectionData และ AuctionConfig ที่เข้ารหัสไปยังบริการ SellerFrontEnd ของเซิร์ฟเวอร์การเสนอราคาและการประมูล ซึ่งทำงานใน TEE

เมื่อการประมูลที่ใช้ Protected Audience API เสร็จสมบูรณ์แล้ว บริการ SellerFrontEnd จะเข้ารหัสผลการประมูลและส่งคืนเป็นคำตอบไปยังบริการ ของผู้ขายที่ไม่น่าเชื่อถือ

บริการผู้ขายที่ไม่น่าเชื่อถือจะส่งการตอบกลับไปยังอุปกรณ์ที่มี โฆษณาตามบริบทและ / หรือผลการประมูล Protected Audience ที่เข้ารหัส

เมื่อได้รับการตอบกลับ โค้ดเทคโนโลยีโฆษณาของผู้ขายในอุปกรณ์อาจเลือก ใช้เฉพาะโฆษณาตามบริบทในการตอบกลับ หรือหากเห็นว่าการรับผลลัพธ์ของ Protected Audience มี มูลค่าเพิ่ม ก็สามารถเลือก ถอดรหัสผลลัพธ์ของ Protected Audience ได้โดยการเรียกใช้ PersistAdSelectionResult API

PersistAdSelectionResult API

หากต้องการถอดรหัสผลลัพธ์ของ Protected Audience เทคโนโลยีโฆษณาของผู้ขายสามารถเรียกใช้ Protected Audience API persistAdSelectionResult ตัวที่ 2 ได้ API จะถอดรหัสผลลัพธ์ และแสดงผล AdSelectionOutcome ซึ่งเป็นออบเจ็กต์เดียวกันกับที่แสดงผลจากการประมูล ในอุปกรณ์ในปัจจุบัน

หากต้องการเข้าถึง API ผู้เรียกจะต้องเปิดใช้การเข้าถึง Protected Audience API และ กำหนดสิทธิ์ ACCESS_ADSERVICES_CUSTOM_AUDIENCE ในไฟล์ Manifest

    public void persistAdSelectionResult(
            PersistAdSelectionResultRequest persistAdSelectionResultRequest,
            Executor executor,
            OutcomeReceiver<AdSelectionOutcome, Exception> receiver) {}

PersistAdSelectionResultRequest

ผู้โทรต้องตั้งค่าต่อไปนี้ในคำขอ

public final class PersistAdSelectionResultRequest {
  Public setAdSelectionId(long adSelectionId);
  public setSeller(AdTechIdentifier seller);
  public setAdSelectionResult(byte[] adSelectionResult);
}
  1. adSelectionId: ตัวระบุแบบทึบแสงที่สร้างขึ้นโดยการเรียก getAdSelectionData ซึ่งผู้เรียกต้องการถอดรหัสผลลัพธ์
  2. seller: ต้องตั้งค่าตัวระบุเทคโนโลยีโฆษณาของผู้ขายในคำขอเพื่อเรียกใช้การตรวจสอบการลงทะเบียนก่อนที่จะให้บริการคำขอ
  3. adSelectionResult: ผลการประมูลที่เข้ารหัสซึ่งสร้างขึ้นโดยเซิร์ฟเวอร์การเสนอราคา และการประมูลที่ผู้เรียกต้องการถอดรหัส

การตอบกลับ AdSelectionOutcome

หากมีผู้ชนะ Protected Audience AdSelectionOutcome จะแสดงผล URI การแสดงผลโฆษณาที่ชนะ เมื่อถอดรหัส adSelectionResult แล้ว ระบบจะจัดเก็บข้อมูลการรายงาน ไว้ภายใน OutcomeReceiver.onResult() การเรียกกลับจะแสดง AdSelectionOutcome ที่มีข้อมูลต่อไปนี้

  • URI: หากมีโฆษณา Protected Audience ที่ชนะ ระบบจะแสดง URL การแสดงโฆษณาสำหรับโฆษณาที่ชนะ หากไม่มีผู้ชนะที่ใช้ Protected Audience API ระบบจะแสดงผล `Uri.EMPTY
  • adSelectionId: adSelectionId ที่เชื่อมโยงกับการประมูลเซิร์ฟเวอร์นี้

การจัดการข้อผิดพลาด ข้อยกเว้น และความล้มเหลว

หากสร้างข้อมูลการเลือกโฆษณาไม่สำเร็จเนื่องจาก เหตุผลต่างๆ เช่น อาร์กิวเมนต์ไม่ถูกต้อง หมดเวลา หรือใช้ทรัพยากรมากเกินไป OutcomeReceiver.onError()การเรียกกลับจะให้ AdServicesException ที่มี ลักษณะการทำงานต่อไปนี้

  1. หากเริ่มต้น getAdSelectionData ด้วยอาร์กิวเมนต์ที่ไม่ถูกต้อง AdServicesException จะระบุ IllegalArgumentException เป็นสาเหตุ
  2. ข้อผิดพลาดอื่นๆ ทั้งหมดจะได้รับ AdServicesException โดยมีIllegalStateException เป็นสาเหตุ

ข้อควรพิจารณาด้านความเป็นส่วนตัว

adSelectionData จะได้รับการเข้ารหัสเพื่อให้มั่นใจว่ามีเพียง PPAPI และเซิร์ฟเวอร์ที่เชื่อถือได้เท่านั้นที่เข้าถึงข้อมูลในระหว่างการส่งผ่านได้

แม้จะมีการเข้ารหัส แต่ข้อมูลก็อาจรั่วไหลได้เนื่องจากadSelectionDataมีขนาดใหญ่ adSelectionData ขนาดอาจแตกต่างกันเนื่องจากสาเหตุต่อไปนี้

  1. การเปลี่ยนแปลงข้อมูล CustomAudience ที่อยู่ในอุปกรณ์
  2. การเปลี่ยนแปลงตรรกะการกรอง CustomAudience
  3. การเปลี่ยนแปลงอินพุตในการโทร getAdSelectionData

การเปลี่ยนแปลงadSelectionDataขนาดสามารถใช้ในการสร้างตัวระบุข้ามแอป ตามที่กล่าวถึงในการอภิปรายเรื่องการรั่วไหล 1 บิต การบรรเทาผลกระทบหลายอย่างที่ใช้ได้กับการรั่วไหลแบบ 1 บิตก็ใช้ได้ที่นี่เช่นกัน

เราวางแผนที่จะสร้าง adSelectionData เดียวกันสําหรับการเรียกไปยัง getAdSelectionData API ทั้งหมดเพื่อจัดการการรั่วไหลเหล่านี้ ในการเปิดตัวครั้งแรก ระบบจะใช้CustomAudiencesทั้งหมดในอุปกรณ์เพื่อสร้างadSelectionData และจะเพิ่มส่วนหัวที่เข้ารหัสเพื่อปิดบังขนาดที่แตกต่างกัน นอกจากนี้ เราจะจำกัด อิทธิพลของGetAdSelectionDataพารามิเตอร์อินพุตที่มีต่อadSelectionData ที่สร้างขึ้นด้วย

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

การเพิ่มประสิทธิภาพขนาด

คาดว่า SDK ไคลเอ็นต์เทคโนโลยีโฆษณาจะแพ็กไบต์ที่เข้ารหัสของ adSelectionData ลงในHTTP PUT/POSTการเรียกตามบริบทที่ทำกับเซิร์ฟเวอร์เทคโนโลยีโฆษณา หากต้องการลดเวลาในการตอบสนองแบบไปกลับและต้นทุน คุณจะต้องลดขนาด adSelectionData ให้ได้มากที่สุดโดยไม่ส่งผลต่อยูทิลิตี

เราวางแผนที่จะศึกษาและอาจเปิดตัวการเพิ่มประสิทธิภาพต่อไปนี้ในรุ่นที่จะเปิดตัว เร็วๆ นี้เพื่อลดขนาด adSelectionData

  1. เพย์โหลดที่สร้างขึ้นในชุดขนาดของที่เก็บข้อมูลที่กำหนดพร้อมการเพิ่มระยะห่าง: เพื่อลดการรั่วไหลจากความแตกต่างของขนาดในขณะที่ยังคงอนุญาตให้ใช้เพย์โหลดที่เล็กลง เราขอแนะนำให้ใช้การจัดกลุ่มขนาดคงที่สำหรับเพย์โหลดที่สร้างขึ้น การกำหนดจำนวนกลุ่มให้น้อย เช่น 7 จะทำให้มีการรั่วไหลของเอนโทรปีน้อยกว่า 3 บิตต่อการเรียกใช้ getAdSelectionData

    หากข้อมูลในอุปกรณ์มีขนาดเกินขนาดถังสูงสุด ระบบจะใช้กลยุทธ์ต่างๆ เช่น ค่าลำดับความสำคัญ เพื่อตัดสินใจว่าจะทิ้งข้อมูลใด

  2. การกำหนดค่าผู้ซื้อ: เรากำลังประเมินความเป็นไปได้ในการอนุญาตให้ผู้ซื้อ ตั้งค่าเพย์โหลดต่อผู้ซื้อ การกำหนดค่านี้จะมีประโยชน์ ในการระบุการประมูลที่ผู้ซื้อสนใจเข้าร่วม หากเป็นไปได้ ในระหว่างการลงทะเบียน เทคโนโลยีโฆษณาของผู้ซื้อจะลงทะเบียนปลายทางที่ Protected Audience จะดึงข้อมูลการกำหนดค่าเพย์โหลดตามช่วงเวลาปกติทุกวัน หรือ API ที่รักษาความเป็นส่วนตัวจะแสดง API เพื่ออนุญาตให้เทคโนโลยีโฆษณาของผู้ซื้อลงทะเบียนปลายทางนี้

    จากนั้นจะใช้การกำหนดค่านี้เพื่อประเมินการมีส่วนร่วมของผู้ซื้อต่อ adSelectionData ที่สร้างขึ้นสำหรับคำขอ getAdSelectionData แต่ละรายการ

    การกำหนดค่าเพย์โหลดของผู้ซื้อจะช่วยให้ผู้ซื้อระบุสิ่งต่อไปนี้ได้

    1. รายชื่อผู้ขายที่อนุญาต: ระบบจะเพิ่มกลุ่มเป้าหมายที่กำหนดเองของผู้ซื้อลงใน เพย์โหลดก็ต่อเมื่อผู้ขายในรายการที่อนุญาตเป็นผู้เริ่มการเรียกใช้ getAdSelectionData เราจะดึงข้อมูลการกำหนดค่าเพย์โหลดทุกวัน เพื่ออัปเดตรายการที่อนุญาตอยู่เสมอ
    2. ขีดจำกัดขนาดต่อผู้ขาย: ผู้ซื้อสามารถระบุขีดจำกัดขนาดต่อผู้ขาย เพื่อกำหนดขนาดข้อมูลที่จะส่งในเพย์โหลดเมื่อผู้ขายรายหนึ่งเริ่มการประมูล ซึ่งจะเป็นประโยชน์หากผู้ซื้อต้องการ ทุ่มเททรัพยากรเพิ่มเติมในการประมวลผลข้อมูลการประมูลจากผู้ขายบางราย SellerFrontendService จะส่งต่อเฉพาะข้อมูลของผู้ซื้อไปยัง BuyerFrontendService แต่ละรายการ ดังนั้น การกำหนดขีดจํากัดขนาดต่อผู้ขายจะช่วยให้ผู้ซื้อ ควบคุมปริมาณข้อมูลที่นำเข้าและประมวลผลโดย BuyerFrontendService ของเซิร์ฟเวอร์การเสนอราคาและการประมูลสําหรับการประมูลที่ผู้ขายเรียกใช้ได้อย่างชัดเจน
  3. การกำหนดค่าผู้ขาย: เรากำลังประเมินความเป็นไปได้ของการกำหนดค่าการประมูลต่อผู้ขาย ซึ่งจะช่วยให้ผู้ขายกำหนดพารามิเตอร์การประมูล เพื่อควบคุมขนาดเพย์โหลดและผู้เข้าร่วมการประมูลได้ หากเป็นไปได้ ในระหว่างการลงทะเบียน เทคโนโลยีโฆษณาของผู้ขายจะระบุปลายทางที่ Protected Audience สามารถดึงข้อมูลการกำหนดค่าการประมูลต่อผู้ขายได้ตามช่วงเวลาปกติ จากนั้นจะใช้การกำหนดค่านี้เพื่อกำหนดองค์ประกอบและขีดจำกัดของ adSelectionData ที่สร้างขึ้นสำหรับคำขอ getAdSelectionData แต่ละรายการ

    การกำหนดค่าต่อผู้ขายจะช่วยให้ผู้ขายระบุชุดผู้ซื้อที่คาดว่าจะเห็นในการประมูลและระบุขีดจำกัดในการมีส่วนร่วมของผู้ซื้อแต่ละรายต่อขนาดเพย์โหลดได้ ซึ่งคล้ายกับการกำหนดค่าผู้ซื้อ

    การกำหนดค่าการประมูลของผู้ขายจะช่วยให้ผู้ขายระบุสิ่งต่อไปนี้ได้

    1. รายชื่อผู้ซื้อที่อนุญาต: สำหรับการประมูลที่ผู้ขายที่ระบุเป็นผู้เริ่ม เฉพาะผู้ซื้อในรายการที่อนุญาตเท่านั้นที่จะมีสิทธิ์ส่ง CustomAudience สำหรับการประมูล คุณจะต้องอัปเดตการกำหนดค่าการประมูลทุกวันเพื่อให้รายการที่อนุญาตเป็นข้อมูลล่าสุดตรงกับรายการที่อนุญาตของผู้ซื้อฝั่งเซิร์ฟเวอร์
    2. ขีดจำกัดขนาดต่อผู้ซื้อ: ผู้ขายสามารถระบุขีดจำกัดต่อผู้ซื้อเพื่อ ควบคุมขนาดข้อมูลที่ผู้ซื้อแต่ละรายอัปโหลดลงในเพย์โหลดที่ ส่งไปยัง SellerFrontendService หากผู้ซื้อใช้พื้นที่เก็บข้อมูลเกินขีดจํากัดต่อผู้ซื้อ ระบบจะใช้ลําดับความสําคัญของกลุ่มเป้าหมายที่กําหนดเองที่ตั้งค่าไว้ในเพย์โหลดของผู้ซื้อเพื่อรับข้อมูลตามขีดจํากัดที่คาดไว้
    3. ลำดับความสำคัญต่อผู้ซื้อ: อนุญาตให้ผู้ขายตั้งค่าลำดับความสำคัญต่อผู้ซื้อ ระบบจะใช้ลำดับความสำคัญของผู้ซื้อ เพื่อระบุว่าควรเก็บข้อมูลผู้ซื้อใดไว้ใน เพย์โหลดหากขนาดเพย์โหลดเกินขีดจำกัดขนาดเพย์โหลด
    4. ขีดจำกัดขนาดสูงสุดสำหรับเพย์โหลด: ผู้ขายแต่ละรายอาจมีการจัดสรรทรัพยากรที่แตกต่างกันและอาจต้องการกำหนดขีดจำกัดขนาดสูงสุดสำหรับเพย์โหลดการประมูลต่อคำขอ ขีดจํากัดขนาดสูงสุดจะสอดคล้องกับ กลุ่มขนาดคงที่ที่ตั้งค่าโดย Protected Audience API
  4. การเปลี่ยนแปลงกลุ่มเป้าหมายที่กำหนดเอง

    1. ระบุลำดับความสำคัญของกลุ่มเป้าหมายที่กำหนดเอง: อนุญาตให้ผู้ซื้อระบุค่าลำดับความสำคัญในกลุ่มเป้าหมายที่กำหนดเอง ระบบจะใช้ฟิลด์ priority เพื่อ ระบุกลุ่มเป้าหมายที่กำหนดเองซึ่งควรนำมาใช้ในการประมูลหาก ชุดกลุ่มเป้าหมายที่กำหนดเองของผู้ซื้อเกินขีดจำกัดขนาดต่อผู้ขายหรือต่อผู้ซื้อ ค่าลำดับความสำคัญที่ไม่ได้ระบุในกลุ่มเป้าหมายที่กำหนดเองจะมีค่าเริ่มต้นเป็น 0.0
  5. การเปลี่ยนแปลงข้อมูลเพย์โหลด

    1. ลดข้อมูลที่ส่งในเพย์โหลด: ตามที่ระบุไว้ในการเพิ่มประสิทธิภาพเพย์โหลดของบริการการเสนอราคาและการประมูล เพย์โหลดที่สูงขึ้นเกิดจากadsข้อมูลกลุ่มเป้าหมายที่กำหนดเอง สัญญาณการเสนอราคาของผู้ใช้ และสัญญาณ Android คุณลดเพย์โหลดที่สูงขึ้นได้โดยทำดังนี้
      1. ให้ไคลเอ็นต์ส่งรหัสการแสดงโฆษณา (แทนออบเจ็กต์โฆษณา) ใน เพย์โหลด
      2. ให้ไคลเอ็นต์ไม่ส่งข้อมูลโฆษณาในเพย์โหลด
      3. ไม่ส่งสัญญาณการเสนอราคาของผู้ใช้ในเพย์โหลดไคลเอ็นต์

แม้ว่ากลยุทธ์เหล่านี้จะช่วยให้เทคโนโลยีโฆษณากําหนดค่าเพื่อ จัดการadSelectionDataองค์ประกอบและขีดจํากัดของเพย์โหลดได้ แต่ก็อาจกลายเป็น ปัจจัยในการปรับadSelectionDataขนาดโดยการเปลี่ยนพารามิเตอร์การกําหนดค่าได้เช่นกัน เพื่อหลีกเลี่ยงปัญหานี้ Protected Audience จะดึงข้อมูลการกำหนดค่าจากปลายทางที่กำหนดค่าไว้ทุกวัน

การเพิ่มประสิทธิภาพเวลาในการตอบสนอง

การประมูลฝั่งเซิร์ฟเวอร์จะมีประโยชน์ในระดับที่ต้องการได้ เราต้องมั่นใจว่า API getAdSelectionData และ API persistAdSelectionResult มีเวลาในการตอบสนองต่ำต่อการเรียกใช้แต่ละครั้ง แม้ว่าเราตั้งใจที่จะให้การสนับสนุนฟีเจอร์สำหรับ API ในปี 2023 แต่การเปิดตัวครั้งต่อๆ ไปจะมุ่งเน้นที่เกณฑ์เปรียบเทียบเวลาในการตอบสนองและการเพิ่มประสิทธิภาพสำหรับ API

เรากำลังพิจารณากลยุทธ์ต่อไปนี้เพื่อรักษาเวลาในการตอบสนองให้อยู่ในขีดจำกัดที่ยอมรับได้

  1. การสร้างข้อมูล Protected Audience ล่วงหน้าต่อผู้ขาย: เนื่องจาก การกำหนดค่าการประมูลของผู้ขายและเพย์โหลดของผู้ซื้อจะคงที่เป็นระยะเวลา นานพอสมควร (ทุกวัน) แพลตฟอร์มจึงสามารถคำนวณล่วงหน้าและจัดเก็บ ข้อมูล Protected Audience ที่มีสิทธิ์ได้

    ซึ่งแพลตฟอร์มจะต้องสร้างกลไกในการตรวจสอบการอัปเดตกลุ่มเป้าหมายที่กำหนดเองและแก้ไขข้อมูล Protected Audience ที่สร้างไว้ล่วงหน้าตามการอัปเดต แพลตฟอร์มยังต้องประกาศ SLO เกี่ยวกับความล่าช้าในการแข่งขัน ที่เทคโนโลยีโฆษณาคาดหวังได้ระหว่างการอัปเดตกลุ่มเป้าหมายที่กำหนดเองกับการเห็น การเปลี่ยนแปลงใน adSelectionData` ที่สร้างขึ้นสำหรับการประมูลฝั่งเซิร์ฟเวอร์

    เนื่องจากอุปกรณ์มีโมเดลการคำนวณทรัพยากรแบบจำกัดที่มีลำดับความสำคัญของกระบวนการแตกต่างกัน เราจึงทราบดีว่าการให้บริการก่อนการสร้างนี้ ต้องมาพร้อมกับการรับประกันความน่าเชื่อถือสูงและ SLO

    จากนั้นการสร้างข้อมูล Protected Audience ล่วงหน้าจะอิงตาม

    1. ผู้ขายเลือกใช้เพื่อสร้างข้อมูล Protected Audience ล่วงหน้า
    2. ผู้ซื้อที่มีสิทธิ์เข้าร่วมการประมูลที่เริ่มต้นโดยผู้ขายรายใดรายหนึ่ง
    3. การระบุกลุ่มเป้าหมายที่กำหนดเองต่อผู้ซื้อแต่ละรายซึ่งจะเป็นส่วนหนึ่งของ เพย์โหลดโดยอิงตามข้อมูลต่อไปนี้
      1. ขีดจำกัดขนาดต่อผู้ซื้อ ลำดับความสำคัญต่อผู้ซื้อ และขีดจำกัดขนาดสูงสุด ที่กำหนดในการกำหนดค่าผู้ขาย
      2. ขีดจํากัดขนาดต่อผู้ขาย ลําดับความสําคัญของกลุ่มเป้าหมายที่กําหนดเองซึ่งกําหนดไว้ในการกําหนดค่าผู้ซื้อ
  2. การใช้การกรองเชิงลบอย่างรวดเร็ว: หากผู้ขายต้องการ แพลตฟอร์มจะคำนวณadSelectionDataล่วงหน้าได้โดยการสร้าง ข้อมูลกลุ่มเป้าหมายที่ปกป้องความเป็นส่วนตัวล่วงหน้า และใช้การกรองเชิงลบจากคําสั่งเรียกที่สําคัญ getAdSelectionData ซึ่งจะช่วยให้ผู้ขายลดเวลาในการตอบสนอง ขณะเดียวกันก็ยอมรับความล้าสมัยในการกรองเชิงลบได้

    แพลตฟอร์มสามารถให้การสนับสนุนนี้ได้โดยการระบุตัวเลือกเริ่มต้นในการกำหนดค่าผู้ขายที่มีขีดจำกัดความล้าสมัยและตัวเลือกการลบล้างใน getAdSelectionData เพื่อให้สามารถคำนวณข้อมูลล่าสุดได้หากจำเป็น หรือแพลตฟอร์มอาจมี API การเริ่มต้นเพิ่มเติม ที่จะเรียกใช้ก่อน getAdSelectionData เพื่อวอร์มอัปการประมูล

  3. การคำนวณเพย์โหลดสำหรับการประมูลหลายรายการ: ในบางสถานการณ์ การมี API ที่มีประสิทธิภาพด้านเวลาในการตอบสนองอาจเป็นสิ่งที่ต้องการมากกว่า แม้ว่าข้อมูลจะล้าสมัยมากขึ้น แพลตฟอร์มอาจเปิดตัว API การเริ่มต้นเพื่อคำนวณเพย์โหลดทั้งหมดและให้การอ้างอิงถึงเพย์โหลดที่คำนวณแล้วแก่ผู้เรียก

    สำหรับการโทรครั้งต่อๆ ไปที่ getAdSelectionData ผู้โทรสามารถอ้างอิงถึงเพย์โหลดที่คำนวณไว้ล่วงหน้าเพื่อใช้ในการสร้าง adSelectionData ได้

กลยุทธ์ทั้ง 3 นี้อยู่ในระยะการสำรวจเบื้องต้น และมีไว้เพื่ออธิบายทิศทางที่แพลตฟอร์มอาจใช้เพื่อเพิ่มประสิทธิภาพสำหรับ เวลาในการตอบสนอง เราจะเสนอแนะกลยุทธ์เพิ่มเติมต่อไปในขณะที่ศึกษาโปรไฟล์เวลาในการตอบสนองของ API และข้อกำหนดด้านเทคโนโลยีโฆษณาอย่างละเอียดมากขึ้น

การบรรเทาและการระบุการละเมิด

ตามที่ระบุไว้ในข้อควรพิจารณาด้านความเป็นส่วนตัว adSelectionData สร้างขึ้นโดยใช้ ข้อมูลผู้ซื้อทั้งหมดในอุปกรณ์

อย่างไรก็ตาม หากใช้ข้อมูลผู้ซื้อทั้งหมดในอุปกรณ์เพื่อสร้างadSelectionDataเอาต์พุต ผู้ไม่ประสงค์ดีอาจแอบอ้างเป็นผู้ซื้อและสร้างข้อมูลผู้ซื้อที่เป็นการฉ้อโกงเพื่อลดประสิทธิภาพของ Android เพิ่มขนาดเพย์โหลดเพื่อเพิ่มต้นทุนสำหรับเทคโนโลยีโฆษณาในการประมูลหรือเสนอราคา และอื่นๆ

การลดปัญหา

มาตรการบางอย่างที่กล่าวถึงในส่วนข้อควรพิจารณาเกี่ยวกับขนาด เช่น การกำหนดค่าเพย์โหลดของผู้ซื้อ ที่มีผู้ขายที่ได้รับอนุญาตและการกำหนดค่าการประมูลของผู้ขาย ที่มีผู้ซื้อที่ได้รับอนุญาต จะช่วยยกเว้นข้อมูลที่ไม่คาดคิดใน เพย์โหลด

มาตรการอื่นๆ ในการพิจารณาขนาด เช่น การอนุญาตให้ SSP ระบุลำดับความสำคัญของผู้ซื้อ การกำหนดโควต้าต่อผู้ซื้อในเพย์โหลดที่สร้างขึ้น และการกำหนดขนาดสูงสุดต่อเพย์โหลดการประมูล ก็ช่วยลดผลกระทบของการขยายเพย์โหลดที่เป็นอันตรายได้เช่นกัน มาตรการเหล่านี้มีจุดประสงค์เพื่อให้เทคโนโลยีโฆษณากำหนดเทคโนโลยีโฆษณา ที่ทำงานร่วมกัน และกำหนดขีดจำกัดที่ยอมรับได้สำหรับเพย์โหลดที่ต้องประมวลผล

ดังที่กล่าวไว้ก่อนหน้านี้ การลดความเสี่ยงทั้งหมดที่นํามาใช้เพื่อป้องกันการละเมิดและข้อจํากัดด้านขนาด ต้องเป็นไปตามข้อควรพิจารณาด้านความเป็นส่วนตัว

การระบุเอนทิตีที่เป็นอันตราย

แม้ว่าการลดความเสี่ยงเหล่านี้จะช่วยปกป้องรุ่น adSelectionData สำหรับการประมูลเซิร์ฟเวอร์ แต่ก็ไม่ได้ช่วยระบุเอนทิตีที่เป็นอันตรายหรือปกป้องแพลตฟอร์มจากการละเมิด เช่น การสร้างกลุ่มเป้าหมายที่กำหนดเองจำนวนมากอย่างที่ไม่เคยมีมาก่อนจากผู้ซื้อ

เราจำเป็นต้องหาวิธีการระบุเอนทิตีที่เป็นอันตราย ระบุเวกเตอร์การละเมิด และระบุแรงจูงใจในการโจมตีที่เฉพาะเจาะจง เพื่อยืนยันความเสถียรและสถานะของแพลตฟอร์ม ในรุ่นต่อๆ ไป เราจะเปิดตัววิดีโออธิบาย ที่ให้รายละเอียดเกี่ยวกับเวกเตอร์การละเมิดที่อาจเกิดขึ้นและการป้องกันที่มีอยู่เพื่อรับมือกับการละเมิดเหล่านั้น