ข้อเสนอการออกแบบการเสนอราคาและบริการประมูลสำหรับ Android จะให้รายละเอียดการดำเนินการและโฟลว์ข้อมูลของการเรียกใช้การประมูลใน Android โดยใช้เซิร์ฟเวอร์การเสนอราคาและการประมูลที่เชื่อถือได้ ระบบจะเข้ารหัสข้อมูลระหว่างไคลเอ็นต์และเซิร์ฟเวอร์โดยใช้การเข้ารหัสคีย์สาธารณะแบบผสมแบบ 2 ทิศทาง เพื่อให้ข้อมูลที่อยู่ระหว่างการส่งเท่านั้น
หากต้องการเรียกใช้การประมูลตามรายละเอียดก่อนหน้านี้ เทคโนโลยีโฆษณาของผู้ขายในอุปกรณ์ต้องทำตามขั้นตอนต่อไปนี้
- รวบรวมและเข้ารหัสข้อมูลสำหรับการประมูลของเซิร์ฟเวอร์
- ส่งคำขอไปยังบริการของผู้ขายที่ไม่น่าเชื่อถือ
- ได้รับการตอบกลับจากบริการผู้ขายที่ไม่น่าเชื่อถือ
- ถอดรหัสการตอบกลับการประมูล Protected Audience และรับผลการประมูล
Protected Audience จะเสนอ API ใหม่ 2 รายการเพื่อรองรับการประมูลเซิร์ฟเวอร์ที่ทำงานอยู่ ดังนี้
getAdSelectionData
API จะรวบรวมข้อมูลสำหรับการประมูลของเซิร์ฟเวอร์และสร้างเพย์โหลดที่เข้ารหัสซึ่งมีข้อมูลการประมูล เซิร์ฟเวอร์การเสนอราคาและการประมูลจะใช้เพย์โหลดนี้เพื่อเรียกใช้การประมูล สร้างผลลัพธ์การประมูล และแสดงผลลัพธ์การประมูล- ลูกค้าเทคโนโลยีโฆษณาในอุปกรณ์สามารถเรียกใช้
persistAdSelectionResult
API เพื่อถอดรหัสผลลัพธ์ที่เกิดจากการประมูลของเซิร์ฟเวอร์และรับ URL การแสดงโฆษณาที่ชนะ
เทคโนโลยีโฆษณาของผู้ขายในอุปกรณ์ต้องผสานรวมและสร้างสิ่งต่อไปนี้เพื่อเรียกใช้การประมูล
- รวบรวมและเข้ารหัสข้อมูลสำหรับผู้ขายในการประมูลเซิร์ฟเวอร์: เทคโนโลยีโฆษณาควรเรียกใช้
getAdSelectionData
API เพื่อรับเพย์โหลดที่เข้ารหัส - ส่งคำขอไปยังบริการผู้ขายที่ไม่น่าเชื่อถือ: คำขอ
HTTP POST
หรือPUT
ที่มีเพย์โหลดที่เข้ารหัสซึ่งสร้างโดยgetAdSelectionData
API ไปยังบริการผู้ขายที่ไม่น่าเชื่อถือและข้อมูลที่จำเป็นโดยบริการผู้ขายที่ไม่น่าเชื่อถือเพื่อสร้างผลลัพธ์ตามบริบท - รับการตอบกลับจากบริการผู้ขายที่ไม่น่าเชื่อถือ: การตอบกลับจากบริการผู้ขายที่ไม่น่าเชื่อถือจะมีผลการประมูลกลุ่มเป้าหมายที่มีการป้องกันและเข้ารหัสไว้ และผลการประมูลตามบริบท
- ถอดรหัสการตอบกลับในการประมูลกลุ่มเป้าหมายที่มีการป้องกันและรับผลการประมูล:
หากต้องการถอดรหัสผลการประมูลกลุ่มเป้าหมายที่มีการป้องกัน เทคโนโลยีโฆษณาของผู้ขายควรเรียกใช้
persistAdSelectionResult
API ผลลัพธ์ที่สร้างโดยpersistAdSelectionResult
จะช่วยให้เทคโนโลยีโฆษณาพิจารณาว่าโฆษณาตามบริบทหรือโฆษณากลุ่มเป้าหมายที่มีการป้องกันชนะการประมูลหรือไม่ และ URI ของโฆษณาของกลุ่มเป้าหมายที่ได้รับการคุ้มครองที่ชนะ (หากมี)
ฟีเจอร์ที่รองรับสำหรับการประมูลของเซิร์ฟเวอร์
เรามุ่งมั่นที่จะรองรับฟีเจอร์ทั้งหมดที่มีสำหรับการประมูลในอุปกรณ์ในขณะนี้ ลำดับเวลาสำหรับการรองรับฟีเจอร์เหล่านี้ในการประมูลของเซิร์ฟเวอร์มีดังนี้
การประมูลในอุปกรณ์ |
การประมูลเซิร์ฟเวอร์ |
|||
ตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ |
เบต้า |
ตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ |
เบต้า |
|
การรายงานการชนะในระดับเหตุการณ์ |
ไตรมาส 1 ปี 2023 |
ไตรมาส 3 ปี 2023 |
ไม่มีข้อมูล |
ไตรมาส 4 ปี 2023 |
ไตรมาส 1 ปี 2023 |
ไตรมาส 4 ปี 2023 |
ไม่มีข้อมูล |
ไตรมาส 1 ปี 2024 |
|
ไตรมาส 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
ในคำขอเนื่องจากจะใช้ในการเรียกใช้การตรวจสอบการลงทะเบียนก่อนให้บริการตามคำขอ
public class GetAdSelectionDataRequest {
Public setSeller(AdTechIdentifier seller);
}
หลังจากตรวจสอบคำขอแล้ว ระบบจะรวมข้อมูลผู้ซื้อในอุปกรณ์ไว้ใน BuyerInput
และ ProtectedAudienceInput
จากนั้นออบเจ็กต์เพย์โหลดสุดท้ายจะได้รับการเข้ารหัสโดยใช้การเข้ารหัสคีย์สาธารณะแบบผสมแบบ 2 ทิศทาง
GetAdSelectionDataOutcome
ระบบจะสร้าง GetAdSelectionDataOutcome
ขึ้นจากผลลัพธ์ของ getAdSelectionData
API ซึ่งประกอบด้วยข้อมูลต่อไปนี้
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
เป็นสาเหตุ
ส่งคำขอไปยังบริการของผู้ขายที่ไม่น่าเชื่อถือ
เมื่อใช้ 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 เสร็จสมบูรณ์ บริการ SellerFrontEnd จะเข้ารหัสผลการประมูลและส่งคืนเป็นการตอบกลับบริการของผู้ขายที่ไม่น่าเชื่อถือ
บริการผู้ขายที่ไม่น่าเชื่อถือจะส่งการตอบกลับไปยังอุปกรณ์ที่มีโฆษณาตามบริบทและ / หรือผลการประมูล Protected Audience ที่เข้ารหัส
เมื่อได้รับการตอบกลับ โค้ดเทคโนโลยีโฆษณาของผู้ขายในอุปกรณ์อาจเลือกใช้เฉพาะโฆษณาตามบริบทในคำตอบ หรือในกรณีที่พิจารณาแล้วว่าการได้รับผลลัพธ์ของ Protected Audience มีคุณค่าเพิ่มขึ้น โค้ดดังกล่าวอาจเลือกถอดรหัสผลลัพธ์ของ Protected Audience โดยเรียกใช้ PersistAdSelectionResult
API
API ของ PersistAdSelection Results
หากต้องการถอดรหัสผลลัพธ์ 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);
}
adSelectionId
: ตัวระบุแบบทึบที่สร้างโดยสายgetAdSelectionData
ซึ่งผู้โทรต้องการถอดรหัสseller
: ต้องตั้งค่าตัวระบุเทคโนโลยีโฆษณาของผู้ขายในคำขอเพื่อเรียกใช้การตรวจสอบการลงทะเบียนก่อนดำเนินการตามคำขอadSelectionResult
: ผลการประมูลที่เข้ารหัสซึ่งเกิดจากเซิร์ฟเวอร์การเสนอราคาและการประมูลที่ผู้โทรต้องการถอดรหัส
การตอบกลับ AdSelectionresult
หากมีผู้ชนะ Protected Audience แล้ว AdSelectionOutcome
จะแสดงผล URI การแสดงโฆษณาที่ชนะ เมื่อถอดรหัส adSelectionResult
แล้ว ข้อมูลการรายงานจะยังคงอยู่ในภายใน โค้ดเรียกกลับ 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 จะดึงข้อมูลการกำหนดค่าจากปลายทางที่กำหนดค่าไว้ทุกวัน
การเพิ่มประสิทธิภาพเวลาในการตอบสนอง
เพื่อให้การประมูลเซิร์ฟเวอร์มีระดับยูทิลิตีที่ต้องการ เราต้องตรวจสอบว่า API getAdSelectionData
และ persistAdSelectionResult
API มีเวลาในการตอบสนองต่อการเรียกต่ำ แม้เรามุ่งมั่นที่จะมอบการรองรับฟีเจอร์สำหรับ API ในปี 2023 แต่รุ่นต่อๆ ไปจะมุ่งเน้นไปที่การเปรียบเทียบและการเพิ่มประสิทธิภาพเวลาในการตอบสนองสำหรับ API
เรากำลังศึกษากลยุทธ์ต่อไปนี้เพื่อให้เวลาในการตอบสนองอยู่ในขีดจำกัดที่ยอมรับได้
การสร้างข้อมูล Protected Audience ล่วงหน้าต่อผู้ขาย 1 ราย: เนื่องจากการกำหนดค่าการประมูลของผู้ขายและการกำหนดค่าเพย์โหลดของผู้ซื้อจะคงที่เป็นระยะเวลาที่พิจารณาได้ (รายวัน) แพลตฟอร์มจึงจะคำนวณและจัดเก็บข้อมูล 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
สำหรับการประมูลบนเซิร์ฟเวอร์ แต่ก็ไม่ได้ช่วยระบุเอนทิตีที่เป็นอันตรายหรือปกป้องแพลตฟอร์มจากการละเมิด เช่น การสร้างกลุ่มเป้าหมายที่กำหนดเองจากผู้ซื้อเป็นจำนวนที่ไม่เคยมีมาก่อน
เราต้องหากลไกในการระบุบุคคลที่เป็นอันตราย ระบุเวกเตอร์ของการละเมิด และระบุแรงจูงใจของการโจมตีที่เฉพาะเจาะจงเพื่อให้แพลตฟอร์มมีเสถียรภาพและเสถียรภาพในการทำงาน ในรุ่นต่อๆ ไป เราจะเปิดตัวคำอธิบาย ที่อธิบายรายละเอียดเกี่ยวกับเวกเตอร์ของการละเมิดที่อาจเกิดขึ้นและการป้องกันเพื่อรับมือกับปัญหานี้