ข้อเสนอการออกแบบบริการเสนอราคาและบริการประมูลสำหรับ Android จะแสดงรายละเอียดการดำเนินการและโฟลว์ข้อมูลของการดำเนินการประมูลใน Android โดยใช้การเสนอราคาที่เชื่อถือได้และเซิร์ฟเวอร์การประมูล เพื่อให้มั่นใจว่าข้อมูลที่อยู่ระหว่างการส่งจะได้รับการจัดการด้วย API ที่รักษาความเป็นส่วนตัวและเซิร์ฟเวอร์ที่เชื่อถือได้เท่านั้น ระบบจะเข้ารหัสข้อมูลระหว่างไคลเอ็นต์และเซิร์ฟเวอร์โดยใช้การเข้ารหัสคีย์สาธารณะแบบไฮบริดแบบ 2 ทิศทาง
หากต้องการเรียกใช้การประมูลตามรายละเอียดข้างต้น เทคโนโลยีโฆษณาของผู้ขายในอุปกรณ์จะต้องทำตามขั้นตอนต่อไปนี้
- รวบรวมและเข้ารหัสข้อมูลสำหรับการประมูลเซิร์ฟเวอร์
- ส่งคำขอไปยังบริการของผู้ขายที่ไม่น่าเชื่อถือ
- รับการตอบกลับจากบริการของผู้ขายที่ไม่น่าเชื่อถือ
- ถอดรหัสคำตอบในการประมูลที่ใช้ Protected Audience API และดูผลลัพธ์การประมูล
Protected Audience จะเปิดตัว API ใหม่ 2 รายการเพื่อรองรับการดำเนินการประมูลเซิร์ฟเวอร์
getAdSelectionData
API จะรวบรวมข้อมูลสำหรับการประมูลของเซิร์ฟเวอร์และสร้างเพย์โหลดที่เข้ารหัสที่มีข้อมูลการประมูล เซิร์ฟเวอร์การเสนอราคาและการประมูลจะใช้เพย์โหลดนี้เพื่อเรียกใช้การประมูล สร้างผลลัพธ์การประมูล และแสดงผลการประมูล- ลูกค้าเทคโนโลยีโฆษณาในอุปกรณ์สามารถเรียกใช้
persistAdSelectionResult
API เพื่อถอดรหัสผลลัพธ์ที่สร้างขึ้นจากการประมูลในเซิร์ฟเวอร์และรับ URL การแสดงโฆษณาที่ชนะ
เทคโนโลยีโฆษณาของผู้ขายในอุปกรณ์ต้องผสานรวมและสร้างสิ่งต่อไปนี้เพื่อเรียกใช้การประมูล
- รวบรวมและเข้ารหัสข้อมูลสำหรับผู้ขายในการประมูลเซิร์ฟเวอร์: เทคโนโลยีโฆษณาควรเรียกใช้
getAdSelectionData
API เพื่อรับเพย์โหลดที่เข้ารหัส - ส่งคำขอไปยังบริการของผู้ขายที่ไม่น่าเชื่อถือ: คำขอ
HTTP POST
หรือPUT
ที่มีเพย์โหลดที่เข้ารหัสซึ่งสร้างโดยgetAdSelectionData
API ไปยังบริการของผู้ขายที่ไม่น่าเชื่อถือและข้อมูลที่จำเป็นสำหรับบริการของผู้ขายที่ไม่น่าเชื่อถือเพื่อสร้างผลลัพธ์ตามบริบท - รับการตอบกลับจากบริการของผู้ขายที่ไม่น่าเชื่อถือ: การตอบกลับจากบริการผู้ขายที่ไม่น่าเชื่อถือจะมีผลการประมูลกลุ่มเป้าหมายที่มีการป้องกันที่เข้ารหัสและผลการประมูลตามบริบท
- ถอดรหัสคำตอบการประมูลที่ใช้ Protected Audience API และรับผลการประมูล:
หากต้องการถอดรหัสผลการประมูลที่ใช้ Protected Audience API เทคโนโลยีโฆษณาของผู้ขายควรเรียกใช้
persistAdSelectionResult
API ผลลัพธ์ที่สร้างโดยpersistAdSelectionResult
จะช่วยให้เทคโนโลยีโฆษณาระบุได้ว่าโฆษณาตามบริบทหรือโฆษณากลุ่มเป้าหมายที่ได้รับการคุ้มครองชนะการประมูลหรือไม่ และระบุ URI ของโฆษณากลุ่มเป้าหมายที่ได้รับการคุ้มครองที่ชนะ (หากมี)
ฟีเจอร์ที่รองรับสำหรับการประมูลเซิร์ฟเวอร์
เรามุ่งมั่นที่จะสนับสนุนฟีเจอร์ทั้งหมดที่มีให้บริการสำหรับการประมูลในอุปกรณ์ในปัจจุบัน กำหนดการสำหรับการรองรับฟีเจอร์เหล่านี้ในการประมูลเซิร์ฟเวอร์มีดังนี้
การประมูลในอุปกรณ์ |
การประมูลเซิร์ฟเวอร์ |
|||
ตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ |
เบต้า |
ตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ |
เบต้า |
|
การรายงานการชนะระดับเหตุการณ์ |
ไตรมาส 1 ปี 2023 |
ไตรมาส 3 ปี 2023 |
ไม่มีข้อมูล |
ไตรมาส 4 ปี 2023 |
ไตรมาส 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 |
การผสานรวมการรวบรวมข้อมูลส่วนตัว |
ไม่มีข้อมูล |
ไม่มีข้อมูล |
ไม่มีข้อมูล |
ไตรมาส 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
- ผู้โทรต้องตั้งค่าช่อง
seller
ในคำขอเนื่องจากใช้เพื่อทำการตรวจสอบการลงทะเบียนก่อนที่จะให้บริการคำขอ - ช่อง
coordinatorOriginUri
ไม่บังคับ- หากมีการตั้งค่า URL นี้ควรเท่ากับรูปแบบ ชื่อโฮสต์ และพอร์ตของ URL เครื่องมือประสานงานที่กำหนดค่าไว้ขณะทำให้เซิร์ฟเวอร์ B&A ของผู้ขายใช้งานได้
- ผู้ประสานงานต้องอยู่ในรายชื่อของผู้ประสานงานที่ได้รับอนุมัติ:
ผู้ให้บริการ 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 ไม่ได้ - ถ้าไม่ได้ระบุต้นทางของ Coordinator ระบบจะใช้ Coordinator เริ่มต้น
- แม้ว่า URL ของผู้ประสานงานจะมีโอกาสน้อยมากที่จะมีการเปลี่ยนแปลง แต่ขอแนะนำอย่างยิ่งให้ใช้กลไกในการจัดการ URL นี้แบบไดนามิก ซึ่งช่วยให้มั่นใจว่าการเปลี่ยนแปลง URL ในอนาคตจะรองรับได้โดยไม่ต้องใช้ SDK รุ่นใหม่
public class GetAdSelectionDataRequest {
public setSeller(AdTechIdentifier seller);
public setCoordinatorOriginUri(Uri coordinatorOriginUri)
}
หลังจากตรวจสอบคำขอแล้ว ระบบจะเขียนข้อมูลผู้ซื้อในอุปกรณ์ลงใน BuyerInput
และ ProtectedAudienceInput
จากนั้นออบเจ็กต์เพย์โหลดสุดท้ายจะได้รับการเข้ารหัสโดยใช้การเข้ารหัสคีย์สาธารณะแบบผสมแบบ 2 ทิศทาง
GetAdSelectionDataOutcome
ระบบสร้าง GetAdSelectionDataOutcome
ขึ้นโดยเป็นผลมาจาก API getAdSelectionData
ซึ่งประกอบด้วยข้อมูลต่อไปนี้
adSelectionId
: จำนวนเต็มทึบเพื่อระบุการเรียกใช้getAdSelectionData
นี้ ไคลเอ็นต์เทคโนโลยีโฆษณาควรเก็บค่าadSelectionId
นี้ไว้ เนื่องจากทำหน้าที่เป็นตัวชี้ไปยังการเรียกgetAdSelectionData
API ของpersistAdSelectionResult
จำเป็นต้องใช้ตัวระบุนี้เพื่อถอดรหัสผลการประมูลจากเซิร์ฟเวอร์การเสนอราคาและเซิร์ฟเวอร์การประมูล นอกจากนี้ API ของreportImpression
และreportEvent
จำเป็นต้องใช้ตัวระบุนี้ด้วยadSelectionData
: นี่คือข้อมูลการประมูลที่เข้ารหัส ซึ่งเซิร์ฟเวอร์การเสนอราคาและเซิร์ฟเวอร์การประมูลต้องใช้ในการเรียกใช้การประมูล เมธอดนี้มีสิ่งต่อไปนี้- ข้อมูลกลุ่มเป้าหมายที่กำหนดเองที่กรองแล้วโดยอิงตามการกำหนดความถี่สูงสุด ตัวกรองการติดตั้งแอป และข้อกำหนดการประมูลเซิร์ฟเวอร์สำหรับกลุ่มเป้าหมายที่กำหนดเอง
- ในเวอร์ชันในอนาคต ข้อมูลนี้จะมีข้อมูลการติดตั้งแอป
public class GetAdSelectionDataOutcome {
Public getAdSelectionId(long adSelectionId);
public byte[] getAdSelectionData();
}
ข้อผิดพลาด ข้อยกเว้น และการจัดการที่ไม่สำเร็จ
หากสร้างข้อมูลการเลือกโฆษณาไม่สำเร็จเนื่องจากสาเหตุต่างๆ เช่น อาร์กิวเมนต์ไม่ถูกต้อง หมดเวลา หรือการใช้ทรัพยากรมากเกินไป การเรียกกลับ OutcomeReceiver.onError()
จะแสดง AdServicesException
ที่มีลักษณะการทำงานดังต่อไปนี้
- หาก
getAdSelectionData
เริ่มต้นโดยมีอาร์กิวเมนต์ที่ไม่ถูกต้องAdServicesException
" จะบ่งชี้ว่า IllegalArgumentException เป็นสาเหตุ - ข้อผิดพลาดอื่นๆ ทั้งหมดจะได้รับ
AdServicesException
ที่มีIllegalStateException
เป็นสาเหตุ
ส่งคำขอไปยังบริการของผู้ขายที่ไม่น่าเชื่อถือ
SDK ในอุปกรณ์จะใช้ AdSelectionData
เพื่อส่งคำขอไปยังบริการโฆษณาของผู้ขายได้โดยการรวมข้อมูลในคำขอ POST
หรือ PUT
ดังนี้
fetch('https://www.example-ssp.com/auction', {
method: "PUT",
body: data,
...
})
โดย SDK ในอุปกรณ์จะมีหน้าที่ในการเข้ารหัสข้อมูลนี้ ขอแนะนำให้ใช้โซลูชันที่ประหยัดพื้นที่ เช่น การส่งคำขอไปยังบริการโฆษณาของผู้ขายเป็นข้อมูลหลายส่วน/แบบฟอร์ม
รับการตอบกลับจากบริการของผู้ขายที่ไม่น่าเชื่อถือ
ตามที่ระบุไว้ในคำอธิบายในการเสนอราคาและเซิร์ฟเวอร์การประมูล เมื่อบริการของผู้ขายที่ไม่น่าเชื่อถือได้รับคำขอ บริการดังกล่าวจะเรียกผู้ซื้อของพาร์ทเนอร์เพื่อแสดงโฆษณาตามบริบท
บริการผู้ขายที่ไม่น่าเชื่อถือจะส่งต่อ adSelectionData
และ AuctionConfig
ที่เข้ารหัสไปยังบริการ SellerFrontEnd ของเซิร์ฟเวอร์การเสนอราคาและการประมูลที่ทำงานใน TEE
เมื่อการประมูลที่ใช้ Protected Audience API เสร็จสมบูรณ์ บริการ SellerFrontEnd จะเข้ารหัสผลการประมูลและส่งคืนเป็นการตอบกลับบริการผู้ขายที่ไม่น่าเชื่อถือ
บริการผู้ขายที่ไม่น่าเชื่อถือจะส่งคำตอบไปยังอุปกรณ์ที่มีโฆษณาตามบริบทและ / หรือผลการประมูลที่ใช้ Protected Audience API ที่เข้ารหัส
เมื่อได้รับการตอบสนอง โค้ดเทคโนโลยีโฆษณาของผู้ขายในอุปกรณ์อาจเลือกใช้เฉพาะโฆษณาตามบริบทในคำตอบหรือพิจารณาแล้วว่าการได้รับผลลัพธ์ของ Protected Audience เพิ่มขึ้น ก็อาจเลือกถอดรหัสผลลัพธ์ของ Protected Audience โดยเรียกใช้ PersistAdSelectionResult
API
API PersistAdSelectionResult
หากต้องการถอดรหัสผลลัพธ์ของ Protected Audience เทคโนโลยีโฆษณาของผู้ขายสามารถเรียกใช้ Protected Audience API persistAdSelectionResult
รายการที่สอง 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);
}
adSelectionId
: ตัวระบุแบบทึบที่สร้างขึ้นจากการเรียกgetAdSelectionData
ซึ่งผลลัพธ์ที่ผู้โทรต้องการถอดรหัสseller
: ต้องตั้งค่าตัวระบุเทคโนโลยีโฆษณาของผู้ขายในคำขอเพื่อทำการตรวจสอบการลงทะเบียนก่อนให้บริการตามคำขอadSelectionResult
: ผลการประมูลที่เข้ารหัสซึ่งสร้างขึ้นโดยเซิร์ฟเวอร์การเสนอราคาและการประมูลที่ผู้โทรต้องการถอดรหัส
การตอบกลับ AdSelectionresult
หากมีผู้ชนะที่ใช้ Protected Audience API AdSelectionOutcome
จะส่ง URI การแสดงโฆษณาที่ชนะ เมื่อถอดรหัส adSelectionResult
แล้ว ข้อมูลการรายงานจะยังคงอยู่เป็นการภายใน Callback OutcomeReceiver.onResult()
จะแสดง AdSelectionOutcome
ซึ่งประกอบด้วย
URI
: หากมีโฆษณา Protected Audience ที่ชนะ ระบบจะแสดง URL การแสดงโฆษณาสำหรับโฆษณาที่ชนะ หากไม่มีผู้ชนะ Protected Audience ระบบจะส่งคืน "Uri.EMPTY"adSelectionId
:adSelectionId
ที่เชื่อมโยงกับการประมูลเซิร์ฟเวอร์นี้
ข้อผิดพลาด ข้อยกเว้น และการจัดการที่ไม่สำเร็จ
หากสร้างข้อมูลการเลือกโฆษณาไม่สำเร็จเนื่องจากสาเหตุต่างๆ เช่น อาร์กิวเมนต์ไม่ถูกต้อง หมดเวลา หรือการใช้ทรัพยากรมากเกินไป การเรียกกลับ OutcomeReceiver.onError()
จะแสดง AdServicesException
ที่มีลักษณะการทำงานดังต่อไปนี้
- หาก
getAdSelectionData
เริ่มต้นโดยมีอาร์กิวเมนต์ที่ไม่ถูกต้องAdServicesException
จะระบุIllegalArgumentException
เป็นสาเหตุ - ข้อผิดพลาดอื่นๆ ทั้งหมดจะได้รับ
AdServicesException
ที่มีIllegalStateException
เป็นสาเหตุ
ข้อพิจารณาเกี่ยวกับข้อมูลส่วนบุคคล
adSelectionData
ได้รับการเข้ารหัสเพื่อให้มั่นใจได้ว่าข้อมูลที่อยู่ระหว่างการส่งจะเข้าถึงได้ด้วย PPAPI และเซิร์ฟเวอร์ที่เชื่อถือได้เท่านั้น
แม้จะมีการเข้ารหัส ข้อมูลรั่วไหลอาจเกิดขึ้นได้เนื่องจากขนาด adSelectionData
ขนาดของ adSelectionData
อาจแตกต่างกันไปเนื่องจาก
- การเปลี่ยนแปลงของข้อมูล
CustomAudience
ปรากฏในอุปกรณ์ - การเปลี่ยนแปลงตรรกะการกรอง
CustomAudience
- เปลี่ยนเป็นอินพุตของ
getAdSelectionData
สาย
การเปลี่ยนขนาด adSelectionData
สามารถนำไปใช้เพื่อสร้างตัวระบุข้ามแอปตามที่ระบุไว้ในการสนทนาเกี่ยวกับการรั่วไหลของ 1 บิต การผ่อนปรนชั่วคราวหลายอย่างที่เกี่ยวข้องกับการรั่วไหลของข้อมูลระดับ 1 บิตก็ใช้ได้กับกรณีนี้เช่นกัน
ในการจัดการการรั่วไหลเหล่านี้ เราวางแผนที่จะสร้าง adSelectionData
เดียวกันสำหรับการเรียก getAdSelectionData
API ทั้งหมด ในรุ่นเริ่มต้น ระบบจะใช้ CustomAudiences
ทั้งหมดในอุปกรณ์สำหรับการสร้าง adSelectionData
และจะเสริมเพย์โหลดที่เข้ารหัสลงในรูปแบบขนาดมาสก์ เราจะจำกัดอิทธิพลของพารามิเตอร์อินพุต GetAdSelectionData
ใน adSelectionData
ที่สร้างขึ้นด้วย
อย่างไรก็ตาม การสร้าง adSelectionData
เดียวกันสำหรับเทคโนโลยีโฆษณาทั้งหมดที่ใช้ข้อมูลการประมูลทั้งหมดในอุปกรณ์จะสร้างเพย์โหลดขนาดใหญ่ที่ตอนนี้ต้องโอนในการเรียกไปยังเซิร์ฟเวอร์เทคโนโลยีโฆษณาทุกครั้ง การใช้กลุ่มเป้าหมายที่กำหนดเองทั้งหมดในอุปกรณ์เพื่อสร้างเพย์โหลดการประมูลยังจะเปิดระบบนิเวศให้ละเมิดต่อบุคคลที่เป็นอันตรายอีกด้วย เราอธิบายข้อกังวลเหล่านี้ไว้ในส่วนการเพิ่มประสิทธิภาพขนาดและการลดความเสี่ยงการละเมิดด้านล่าง
การเพิ่มประสิทธิภาพขนาด
คาดว่า SDK ของไคลเอ็นต์เทคโนโลยีโฆษณาจะแพ็กเกจไบต์ที่เข้ารหัสของ adSelectionData
ลงในการเรียกใช้ตามบริบท HTTP PUT/POST
ที่ส่งไปยังเซิร์ฟเวอร์เทคโนโลยีโฆษณา เพื่อลดค่าใช้จ่ายและเวลาในการตอบสนองของเวลาในการตอบสนองไป-กลับ จึงต้องลดขนาด adSelectionData
ให้ได้มากที่สุดโดยไม่ส่งผลต่อประโยชน์ใช้สอย
เราวางแผนที่จะสํารวจและอาจแนะนําการเพิ่มประสิทธิภาพต่อไปนี้ในรุ่นที่กำลังจะเปิดตัวเพื่อลดขนาดของ adSelectionData
เพย์โหลดที่สร้างขึ้นในชุดขนาดที่เก็บข้อมูลคงที่โดยมีระยะห่างจากขอบ: เพื่อลดการรั่วไหลจากขนาดที่หลากหลายในขณะที่ยังคงทำให้เพย์โหลดต่ำลง เราขอแนะนำให้ใช้การฝากขนาดคงที่สำหรับเพย์โหลดที่สร้างขึ้น ตัวอย่างเช่น การรักษาจำนวนที่เก็บข้อมูลให้น้อยเช่น 7 จะทําให้เอนโทรปีที่รั่วไหลน้อยกว่า 3 บิตต่อการเรียก
getAdSelectionData
หากข้อมูลในอุปกรณ์มีขนาดเกินที่เก็บข้อมูลสูงสุด จะมีการใช้กลยุทธ์ที่กล่าวถึงด้านล่าง เช่น ค่าลำดับความสำคัญ เพื่อตัดสินว่าจะนำข้อมูลใดออก
การกำหนดค่าผู้ซื้อ: เรากำลังประเมินความเป็นไปได้ในการอนุญาตให้ผู้ซื้อกำหนดค่าเพย์โหลดต่อผู้ซื้อ การกำหนดค่านี้จะเป็นประโยชน์ในการระบุการประมูลที่ผู้ซื้อสนใจเข้าร่วม หากทําได้ระหว่างการลงทะเบียน เทคโนโลยีโฆษณาของผู้ซื้ออาจลงทะเบียนปลายทางที่ Protected Audience จะดึงข้อมูลการกําหนดค่าเพย์โหลดด้วยความถี่สม่ำเสมอรายวัน นอกจากนี้ API ที่รักษาความเป็นส่วนตัวจะแสดง API เพื่อให้เทคโนโลยีโฆษณาของผู้ซื้อลงทะเบียนปลายทางนี้ได้
จากนั้นจะใช้การกำหนดค่านี้เพื่อประเมินการมีส่วนร่วมของผู้ซื้อใน
adSelectionData
ที่สร้างขึ้นสำหรับคำขอgetAdSelectionData
แต่ละรายการการกำหนดค่าเพย์โหลดของผู้ซื้อจะอนุญาตให้ผู้ซื้อระบุข้อมูลต่อไปนี้
- รายชื่อผู้ขายที่อนุญาต: ระบบจะเพิ่มกลุ่มเป้าหมายที่กำหนดเองของผู้ซื้อไปยังเพย์โหลดเฉพาะในกรณีที่ผู้ขายในรายการที่อนุญาตเป็นผู้เริ่มการเรียก
getAdSelectionData
เท่านั้น เราจะดึงข้อมูลการกำหนดค่าเพย์โหลดเป็นระยะๆ เพื่ออัปเดตรายการที่อนุญาตอยู่เสมอ - ขีดจำกัดขนาดต่อผู้ขาย: ผู้ซื้อสามารถระบุขีดจำกัดขนาดต่อผู้ขายเพื่อกำหนดขนาดข้อมูลที่จะส่งในเพย์โหลด เมื่อการประมูลเริ่มต้นโดยผู้ขายบางราย ซึ่งจะเป็นประโยชน์หากผู้ซื้อต้องการที่จะทุ่มเททรัพยากรเพิ่มเติมให้กับการประมวลผลข้อมูลการประมูลจากผู้ขายบางราย SellerFrontendService จะส่งต่อเฉพาะข้อมูลของผู้ซื้อไปยัง BuyerFrontendService แต่ละรายการ ดังนั้น เมื่อกำหนดขีดจำกัดขนาดต่อผู้ขาย ผู้ซื้อจะสามารถควบคุมปริมาณข้อมูลที่นำเข้าและประมวลผลอย่างชัดเจนโดย การเสนอราคาและ BuyerFrontendService ของเซิร์ฟเวอร์การประมูลสำหรับการประมูลที่ผู้ขายเรียกใช้
- รายชื่อผู้ขายที่อนุญาต: ระบบจะเพิ่มกลุ่มเป้าหมายที่กำหนดเองของผู้ซื้อไปยังเพย์โหลดเฉพาะในกรณีที่ผู้ขายในรายการที่อนุญาตเป็นผู้เริ่มการเรียก
การกำหนดค่าผู้ขาย: เรากำลังประเมินความเป็นไปได้ของการกำหนดค่าการประมูลต่อผู้ขาย ซึ่งจะช่วยให้ผู้ขายกำหนดพารามิเตอร์การประมูลเพื่อควบคุมขนาดเพย์โหลดและผู้เข้าร่วมการประมูลได้ หากทำได้ ในระหว่างการลงทะเบียน เทคโนโลยีโฆษณาของผู้ขายจะระบุปลายทางที่ Protected Audience ดึงข้อมูลการกำหนดค่าการประมูลต่อผู้ขายได้ด้วยความถี่ปกติ จากนั้นจะใช้การกำหนดค่านี้เพื่อกำหนดการเรียบเรียงและขีดจำกัดของ
adSelectionData
ที่สร้างขึ้นสำหรับคำขอgetAdSelectionData
แต่ละรายการเช่นเดียวกับการกำหนดค่าของผู้ซื้อ การกำหนดค่าต่อผู้ขายจะช่วยให้ผู้ขายสามารถระบุกลุ่มผู้ซื้อที่ตนคาดว่าจะเห็นในการประมูล และระบุขีดจำกัดต่อขนาดเพย์โหลดต่อผู้ซื้อแต่ละราย
การกำหนดค่าการประมูลของผู้ขายจะช่วยให้ผู้ขายสามารถระบุข้อมูลต่อไปนี้
- รายชื่อผู้ซื้อที่อนุญาต: สำหรับการประมูลที่เริ่มต้นโดยผู้ขายรายหนึ่งๆ จะมีเฉพาะผู้ซื้อในรายการที่อนุญาตเท่านั้นที่จะสนับสนุนกลุ่มเป้าหมายที่กำหนดเองในการประมูลได้ คุณจะต้องอัปเดตการกำหนดค่าการประมูลทุกวันเพื่อให้รายการที่อนุญาตเป็นปัจจุบันอยู่เสมอด้วยรายการที่อนุญาตของผู้ซื้อฝั่งเซิร์ฟเวอร์
- ขีดจำกัดขนาดต่อผู้ซื้อ: ผู้ขายสามารถระบุขีดจำกัดต่อผู้ซื้อเพื่อควบคุมขนาดข้อมูลที่ผู้ซื้อแต่ละรายอัปโหลดลงในเพย์โหลดที่ส่งไปยัง SellerFrontendService หากผู้ซื้อเกินขีดจำกัดขนาดต่อผู้ซื้อ ระบบจะใช้ลำดับความสำคัญของ CustomAudience ที่ตั้งค่าไว้ในการกำหนดค่าเพย์โหลดของผู้ซื้อเพื่อให้ได้รับข้อมูลในขีดจำกัดที่คาดไว้
- ลำดับความสำคัญต่อผู้ซื้อ: อนุญาตให้ผู้ขายกำหนดลำดับความสำคัญต่อผู้ซื้อได้ ระบบจะใช้ลำดับความสำคัญของผู้ซื้อในการระบุข้อมูลผู้ซื้อที่ควรเก็บไว้ในเพย์โหลดหากขนาดเพย์โหลดเกินขีดจำกัดของขนาดเพย์โหลด
- ขนาดสูงสุดของเพย์โหลด: ผู้ขายแต่ละรายอาจมีการจัดสรรทรัพยากรแตกต่างกันและอาจต้องการตั้งค่าขนาดสูงสุดของเพย์โหลดการประมูลต่อคำขอ ขีดจํากัดขนาดสูงสุดจะเป็นไปตามที่เก็บข้อมูลขนาดคงที่ที่ Protected Audience API กำหนดไว้
การเปลี่ยนแปลงกลุ่มเป้าหมายที่กำหนดเอง
- ระบุลำดับความสำคัญของกลุ่มเป้าหมายที่กำหนดเอง: อนุญาตให้ผู้ซื้อระบุค่าลำดับความสำคัญในกลุ่มเป้าหมายที่กำหนดเอง ระบบจะใช้ช่อง
priority
เพื่อระบุกลุ่มเป้าหมายที่กำหนดเองซึ่งควรรวมอยู่ในการประมูล หากชุดกลุ่มเป้าหมายที่กำหนดเองของผู้ซื้อเกินขีดจำกัดขนาดต่อผู้ขายหรือต่อผู้ซื้อ ค่าลำดับความสำคัญที่ไม่ระบุในกลุ่มเป้าหมายที่กำหนดเองจะมีค่าเริ่มต้นเป็น0.0
- ระบุลำดับความสำคัญของกลุ่มเป้าหมายที่กำหนดเอง: อนุญาตให้ผู้ซื้อระบุค่าลำดับความสำคัญในกลุ่มเป้าหมายที่กำหนดเอง ระบบจะใช้ช่อง
การเปลี่ยนแปลงข้อมูลเพย์โหลด
- ลดข้อมูลที่ส่งในเพย์โหลด: ตามที่ได้อธิบายไว้ในการเพิ่มประสิทธิภาพเพย์โหลดของบริการการเสนอราคาและการประมูล เพย์โหลดที่สูงขึ้นจะขึ้นอยู่กับข้อมูลกลุ่มเป้าหมายที่กำหนดเอง
ads
สัญญาณการเสนอราคาของผู้ใช้ และสัญญาณของ Android เพย์โหลดที่สูงขึ้นอาจลดลงได้ด้วยสิ่งต่อไปนี้- การที่ไคลเอ็นต์ส่งรหัสการแสดงโฆษณา (แทนออบเจ็กต์โฆษณา) ในเพย์โหลด
- การให้ลูกค้าไม่ส่งข้อมูลโฆษณาในเพย์โหลด
- ไม่ส่งสัญญาณการเสนอราคาของผู้ใช้ในเพย์โหลดของไคลเอ็นต์
- ลดข้อมูลที่ส่งในเพย์โหลด: ตามที่ได้อธิบายไว้ในการเพิ่มประสิทธิภาพเพย์โหลดของบริการการเสนอราคาและการประมูล เพย์โหลดที่สูงขึ้นจะขึ้นอยู่กับข้อมูลกลุ่มเป้าหมายที่กำหนดเอง
แม้ว่ากลยุทธ์ที่กล่าวถึงข้างต้นจะอนุญาตให้เทคโนโลยีโฆษณาระบุการกำหนดค่าเพื่อจัดการองค์ประกอบและขีดจำกัดของเพย์โหลด adSelectionData
แต่ก็อาจกลายเป็นปัจจัยในการปรับขนาด adSelectionData
ด้วยการเปลี่ยนพารามิเตอร์การกำหนดค่าได้เช่นกัน เพื่อหลีกเลี่ยงปัญหานี้ ระบบจะดึงข้อมูลการกำหนดค่าทุกวันโดย Protected Audience จากปลายทางที่กำหนดค่า
การเพิ่มประสิทธิภาพเวลาในการตอบสนอง
เราต้องตรวจสอบว่า getAdSelectionData
API และ persistAdSelectionResult
API มีเวลาในการตอบสนองต่อการเรียกต่ำ เพื่อให้การประมูลเซิร์ฟเวอร์มียูทิลิตีในระดับที่ต้องการ แม้ว่าเรามุ่งมั่นที่จะให้การรองรับฟีเจอร์สำหรับ API ในปี 2023 แต่รุ่นต่อๆ ไปจะมุ่งเน้นที่การเปรียบเทียบเวลาในการตอบสนองและการเพิ่มประสิทธิภาพสำหรับ API
เราศึกษากลยุทธ์ต่อไปนี้เพื่อดูแลให้เวลาในการตอบสนองอยู่ภายในขีดจำกัดที่ยอมรับได้
การสร้างข้อมูล Protected Audience ล่วงหน้าต่อผู้ขาย: เนื่องจากการกำหนดค่าการประมูลของผู้ขายและการกำหนดค่าเพย์โหลดของผู้ซื้อจะมีความเสถียรเป็นระยะเวลาหนึ่ง (รายวัน) แพลตฟอร์มจึงคำนวณล่วงหน้าและจัดเก็บข้อมูล Protected Audience ที่มีสิทธิ์ได้
การดำเนินการนี้ทำให้แพลตฟอร์มต้องสร้างกลไกในการตรวจสอบการอัปเดตกลุ่มเป้าหมายที่กำหนดเองและแก้ไขข้อมูล Protected Audience ที่สร้างขึ้นล่วงหน้าตามการอัปเดต นอกจากนี้ แพลตฟอร์มยังต้องประกาศ SLO ในเทคโนโลยีโฆษณาที่เกิดความล่าช้าในการแข่งขันที่อาจเกิดขึ้นระหว่างการอัปเดตกลุ่มเป้าหมายที่กำหนดเองและเห็นการเปลี่ยนแปลงใน
adSelectionData
" ที่สร้างขึ้นสำหรับการประมูลเซิร์ฟเวอร์เนื่องจากอุปกรณ์มีโมเดลการคำนวณทรัพยากรแบบจำกัด และให้ความสำคัญกับกระบวนการแตกต่างกันไป เราจึงตระหนักดีว่าการให้บริการแบบล่วงหน้านี้ต้องมีความน่าเชื่อถือสูงและมีการรับประกัน SLO
การสร้างข้อมูล Protected Audience ล่วงหน้าจะอิงตาม
- ผู้ขายเลือกใช้เพื่อสร้างข้อมูล Protected Audience ล่วงหน้า
- ผู้ซื้อมีสิทธิ์เข้าร่วมการประมูลที่เริ่มต้นโดยผู้ขายรายใดรายหนึ่ง
- การระบุกลุ่มเป้าหมายที่กำหนดเองต่อผู้ซื้อ ซึ่งจะเป็นส่วนหนึ่งของเพย์โหลด โดยอิงจากปัจจัยต่อไปนี้
- ขีดจำกัดขนาดต่อผู้ซื้อ ลำดับความสำคัญต่อผู้ซื้อ และข้อจำกัดขนาดสูงสุดที่ กำหนดไว้ในการกำหนดค่าผู้ขาย
- ขีดจำกัดขนาดต่อผู้ขาย ลำดับความสำคัญของกลุ่มเป้าหมายแบบกำหนดเองที่กำหนดไว้ในการกำหนดค่าของผู้ซื้อ
การใช้การกรองเชิงลบอย่างกระตือรือร้น: หากผู้ขายเลือกใช้ แพลตฟอร์มอาจประมวลผล
adSelectionData
ล่วงหน้าด้วยการสร้างข้อมูล Protected Audience ไว้ล่วงหน้าและใช้การกรองเชิงลบปิดการเรียกใช้getAdSelectionData
ที่สำคัญ วิธีนี้จะช่วยให้ผู้ขายสามารถปรับสมดุลเวลาในการตอบสนอง ในขณะที่ยังยอมรับการไม่มีอัปเดตในการกรองเชิงลบแพลตฟอร์มสามารถให้การสนับสนุนนี้ได้โดยระบุตัวเลือกเริ่มต้นในการกำหนดค่าของผู้ขายที่มีขีดจำกัดการไม่มีการอัปเดตและตัวเลือกการลบล้างใน
getAdSelectionData
เพื่ออนุญาตให้มีการคำนวณใหม่ล่าสุดหากจำเป็น หรือแพลตฟอร์มอาจให้ API การเริ่มต้นเพิ่มเติมที่จะเรียกใช้ก่อนgetAdSelectionData
เพื่อเริ่มต้นการประมูลการคำนวณเพย์โหลดสำหรับการประมูลหลายรายการ: ในบางสถานการณ์ ควรใช้ API ที่มีประสิทธิภาพเวลาในการตอบสนองเนื่องจากค่าใช้จ่ายเมื่อข้อมูลมีอัปเดตมากขึ้น แพลตฟอร์มนี้อาจนำเสนอ API เริ่มต้นเพื่อคำนวณเพย์โหลดทั้งหมดและให้ข้อมูลอ้างอิงเกี่ยวกับเพย์โหลดที่คำนวณไปยังผู้โทร
สำหรับการเรียกไปยัง
getAdSelectionData
ที่ตามมา ผู้โทรอาจให้ข้อมูลอ้างอิงกับเพย์โหลดที่คำนวณไว้ล่วงหน้าเพื่อใช้ในการสร้างadSelectionData
กลยุทธ์ทั้ง 3 ที่กล่าวถึงข้างต้นอยู่ในขั้นการสำรวจเริ่มต้น และมีไว้เพื่ออธิบายทิศทางที่แพลตฟอร์มอาจใช้เพื่อเพิ่มประสิทธิภาพสำหรับเวลาในการตอบสนอง เราจะเสนอกลยุทธ์เพิ่มเติมต่อไปในการศึกษาโปรไฟล์เวลาในการตอบสนองโดยละเอียดของข้อกำหนด API และเทคโนโลยีโฆษณา
การบรรเทาการละเมิดและการระบุตัวตน
ดังที่ได้กล่าวไว้ในข้อควรพิจารณาเกี่ยวกับความเป็นส่วนตัว adSelectionData
สร้างขึ้นโดยใช้ข้อมูลผู้ซื้อทั้งหมดในอุปกรณ์
อย่างไรก็ตาม หากใช้ข้อมูลผู้ซื้อทั้งหมดในอุปกรณ์เพื่อสร้างเอาต์พุต adSelectionData
บุคคลที่เป็นอันตรายอาจแอบอ้างเป็นผู้ซื้อและสร้างข้อมูลผู้ซื้อที่เป็นการฉ้อโกงเพื่อทำให้ประสิทธิภาพของ Android ลดลง ทำให้เพย์โหลดเพิ่มขึ้นเพื่อเพิ่มค่าใช้จ่ายสำหรับเทคโนโลยีโฆษณาที่ใช้การประมูลหรือเสนอราคา ฯลฯ
การลดปัญหา
บางมาตรการที่กล่าวถึงในส่วนการพิจารณาเกี่ยวกับขนาด เช่น การกำหนดค่าเพย์โหลดของผู้ซื้อที่มีผู้ขายที่ได้รับอนุญาตและการกำหนดค่าการประมูลผู้ขายที่มีผู้ซื้อที่อนุญาต จะช่วยยกเว้นข้อมูลที่ไม่คาดคิดในเพย์โหลดได้
มาตรการอื่นๆ เกี่ยวกับการพิจารณาขนาด เช่น การอนุญาตให้ SSP ระบุลำดับความสำคัญของผู้ซื้อ การกำหนดโควต้าต่อผู้ซื้อในเพย์โหลดที่สร้างขึ้น และการตั้งค่าขนาดสูงสุดต่อเพย์โหลดในการประมูล ก็จะช่วยลดผลกระทบจากภาวะเบี่ยงเบนของเพย์โหลดที่เป็นอันตรายได้ มาตรการเหล่านี้มีไว้เพื่อช่วยให้เทคโนโลยีโฆษณากำหนดเทคโนโลยีโฆษณาที่ทำงานร่วมกัน รวมถึงกำหนดขีดจำกัดที่ยอมรับได้ของเพย์โหลดที่ต้องประมวลผล
ดังที่กล่าวไว้ก่อนหน้านี้ การลดความเสี่ยงทั้งหมดที่เกิดจากการป้องกันการละเมิดและข้อจำกัดด้านขนาดต้องเป็นไปตามข้อพิจารณาด้านความเป็นส่วนตัว
การระบุเอนทิตีที่เป็นอันตราย
แม้ว่าการผ่อนปรนชั่วคราวที่กล่าวถึงข้างต้นจะช่วยปกป้องการสร้าง adSelectionData
สำหรับการประมูลเซิร์ฟเวอร์ แต่ก็ไม่ได้ช่วยระบุเอนทิตีที่เป็นอันตรายหรือปกป้องแพลตฟอร์มจากการละเมิด เช่น การสร้างกลุ่มเป้าหมายที่กำหนดเองจำนวนมากจากผู้ซื้อ
เราจำเป็นต้องหากลไกในการระบุบุคคลที่เป็นอันตราย ระบุเวกเตอร์การละเมิด และระบุแรงจูงใจสำหรับการโจมตีดังกล่าว เพื่อความเสถียรและประสิทธิภาพของแพลตฟอร์ม ในเวอร์ชันต่อๆ ไป เราจะเปิดตัววิดีโออธิบายซึ่งอธิบายรายละเอียดเกี่ยวกับเวกเตอร์การละเมิดและการป้องกันที่อาจเกิดขึ้น เพื่อตอบโต้ข้อจำกัดเหล่านั้น