ข้อเสนอการออกแบบบริการเสนอราคาและประมูลสำหรับ 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 ที่เข้ารหัส และผลการประมูลตามบริบท
- ถอดรหัสการตอบกลับการประมูลกลุ่มเป้าหมายที่มีการป้องกันและรับผลการประมูล:
เทคโนโลยีโฆษณาของผู้ขายควรเรียกใช้ API
persistAdSelectionResult
เพื่อถอดรหัสผลการประมูลกลุ่มเป้าหมายที่มีการป้องกัน ผลลัพธ์ที่สร้างโดยpersistAdSelectionResult
จะช่วยให้เทคโนโลยีโฆษณากำหนดได้ว่าโฆษณาตามบริบท หรือโฆษณา Protected Audience ชนะการประมูล และ URI ของโฆษณา Protected Audience ที่ชนะ (หากมี)
ฟีเจอร์ที่รองรับการประมูลฝั่งเซิร์ฟเวอร์
เรามุ่งมั่นที่จะรองรับฟีเจอร์ทั้งหมดที่พร้อมใช้งานสำหรับการประมูลในอุปกรณ์ ไทม์ไลน์สำหรับการรองรับฟีเจอร์เหล่านี้ในการประมูลเซิร์ฟเวอร์มีดังนี้
การประมูลในอุปกรณ์ |
การประมูลฝั่งเซิร์ฟเวอร์ |
|||
ตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ |
เบต้า |
ตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ |
เบต้า |
|
การรายงานการชนะระดับเหตุการณ์ |
ไตรมาส 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 |
การผสานรวม 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
- ผู้โทรต้องตั้งค่าฟิลด์
seller
ในคำขอเนื่องจากใช้เพื่อเรียกใช้ การตรวจสอบการลงทะเบียนก่อนให้บริการคำขอ - ฟิลด์
coordinatorOriginUri
เป็นฟิลด์ที่ไม่บังคับ- หากตั้งค่าไว้ ค่านี้ควรเท่ากับสคีม ชื่อโฮสต์ และพอร์ตของ 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 ไม่ - หากไม่ได้ระบุต้นทางของโคออร์ดิเนเตอร์ ระบบจะใช้โคออร์ดิเนเตอร์เริ่มต้น
- แม้ว่า URL ของผู้ประสานงานจะไม่น่าจะมีการเปลี่ยนแปลง แต่เราขอแนะนำเป็นอย่างยิ่งให้ใช้กลไกในการจัดการ URL นี้แบบไดนามิก ซึ่งจะช่วยให้รองรับการเปลี่ยนแปลง URL ในอนาคตได้โดยไม่ต้องเผยแพร่ SDK ใหม่
public class GetAdSelectionDataRequest {
public setSeller(AdTechIdentifier seller);
public setCoordinatorOriginUri(Uri coordinatorOriginUri)
}
หลังจากตรวจสอบคำขอแล้ว ระบบจะรวบรวมข้อมูลผู้ซื้อในอุปกรณ์เป็น BuyerInput
และ ProtectedAudienceInput
จากนั้นระบบจะเข้ารหัสออบเจ็กต์เพย์โหลดสุดท้ายโดยใช้การเข้ารหัสคีย์สาธารณะแบบไฮบริดแบบ 2 ทาง
GetAdSelectionDataOutcome
GetAdSelectionDataOutcome
จะสร้างขึ้นเป็นผลลัพธ์ของ getAdSelectionData
API โดยมีข้อมูลต่อไปนี้
adSelectionId
: จำนวนเต็มทึบแสงเพื่อระบุการเรียกใช้getAdSelectionData
นี้ ไคลเอ็นต์เทคโนโลยีโฆษณาควรเก็บค่าadSelectionId
นี้ไว้เนื่องจากค่านี้ทำหน้าที่เป็นตัวชี้ไปยังการเรียกใช้getAdSelectionData
persistAdSelectionResult
API ต้องใช้ตัวระบุนี้เพื่อถอดรหัสผลการประมูลจากเซิร์ฟเวอร์การเสนอราคา และการประมูล รวมถึงreportImpression
และreportEvent
API ก็ต้องใช้ตัวระบุนี้ด้วย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 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);
}
adSelectionId
: ตัวระบุแบบทึบแสงที่สร้างขึ้นโดยการเรียกgetAdSelectionData
ซึ่งผู้เรียกต้องการถอดรหัสผลลัพธ์seller
: ต้องตั้งค่าตัวระบุเทคโนโลยีโฆษณาของผู้ขายในคำขอเพื่อเรียกใช้การตรวจสอบการลงทะเบียนก่อนที่จะให้บริการคำขอadSelectionResult
: ผลการประมูลที่เข้ารหัสซึ่งสร้างขึ้นโดยเซิร์ฟเวอร์การเสนอราคา และการประมูลที่ผู้เรียกต้องการถอดรหัส
การตอบกลับ AdSelectionOutcome
หากมีผู้ชนะ Protected Audience AdSelectionOutcome
จะแสดงผล
URI การแสดงผลโฆษณาที่ชนะ เมื่อถอดรหัส adSelectionResult
แล้ว ระบบจะจัดเก็บข้อมูลการรายงาน
ไว้ภายใน OutcomeReceiver.onResult()
การเรียกกลับจะแสดง
AdSelectionOutcome
ที่มีข้อมูลต่อไปนี้
URI
: หากมีโฆษณา Protected Audience ที่ชนะ ระบบจะแสดง URL การแสดงโฆษณาสำหรับโฆษณาที่ชนะ หากไม่มีผู้ชนะที่ใช้ Protected Audience API ระบบจะแสดงผล `Uri.EMPTYadSelectionId
: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
แต่ละรายการการกำหนดค่าต่อผู้ขายจะช่วยให้ผู้ขายระบุชุดผู้ซื้อที่คาดว่าจะเห็นในการประมูลและระบุขีดจำกัดในการมีส่วนร่วมของผู้ซื้อแต่ละรายต่อขนาดเพย์โหลดได้ ซึ่งคล้ายกับการกำหนดค่าผู้ซื้อ
การกำหนดค่าการประมูลของผู้ขายจะช่วยให้ผู้ขายระบุสิ่งต่อไปนี้ได้
- รายชื่อผู้ซื้อที่อนุญาต: สำหรับการประมูลที่ผู้ขายที่ระบุเป็นผู้เริ่ม เฉพาะผู้ซื้อในรายการที่อนุญาตเท่านั้นที่จะมีสิทธิ์ส่ง CustomAudience สำหรับการประมูล คุณจะต้องอัปเดตการกำหนดค่าการประมูลทุกวันเพื่อให้รายการที่อนุญาตเป็นข้อมูลล่าสุดตรงกับรายการที่อนุญาตของผู้ซื้อฝั่งเซิร์ฟเวอร์
- ขีดจำกัดขนาดต่อผู้ซื้อ: ผู้ขายสามารถระบุขีดจำกัดต่อผู้ซื้อเพื่อ ควบคุมขนาดข้อมูลที่ผู้ซื้อแต่ละรายอัปโหลดลงในเพย์โหลดที่ ส่งไปยัง SellerFrontendService หากผู้ซื้อใช้พื้นที่เก็บข้อมูลเกินขีดจํากัดต่อผู้ซื้อ ระบบจะใช้ลําดับความสําคัญของกลุ่มเป้าหมายที่กําหนดเองที่ตั้งค่าไว้ในเพย์โหลดของผู้ซื้อเพื่อรับข้อมูลตามขีดจํากัดที่คาดไว้
- ลำดับความสำคัญต่อผู้ซื้อ: อนุญาตให้ผู้ขายตั้งค่าลำดับความสำคัญต่อผู้ซื้อ ระบบจะใช้ลำดับความสำคัญของผู้ซื้อ เพื่อระบุว่าควรเก็บข้อมูลผู้ซื้อใดไว้ใน เพย์โหลดหากขนาดเพย์โหลดเกินขีดจำกัดขนาดเพย์โหลด
- ขีดจำกัดขนาดสูงสุดสำหรับเพย์โหลด: ผู้ขายแต่ละรายอาจมีการจัดสรรทรัพยากรที่แตกต่างกันและอาจต้องการกำหนดขีดจำกัดขนาดสูงสุดสำหรับเพย์โหลดการประมูลต่อคำขอ ขีดจํากัดขนาดสูงสุดจะสอดคล้องกับ กลุ่มขนาดคงที่ที่ตั้งค่าโดย Protected Audience API
การเปลี่ยนแปลงกลุ่มเป้าหมายที่กำหนดเอง
- ระบุลำดับความสำคัญของกลุ่มเป้าหมายที่กำหนดเอง: อนุญาตให้ผู้ซื้อระบุค่าลำดับความสำคัญในกลุ่มเป้าหมายที่กำหนดเอง ระบบจะใช้ฟิลด์
priority
เพื่อ ระบุกลุ่มเป้าหมายที่กำหนดเองซึ่งควรนำมาใช้ในการประมูลหาก ชุดกลุ่มเป้าหมายที่กำหนดเองของผู้ซื้อเกินขีดจำกัดขนาดต่อผู้ขายหรือต่อผู้ซื้อ ค่าลำดับความสำคัญที่ไม่ได้ระบุในกลุ่มเป้าหมายที่กำหนดเองจะมีค่าเริ่มต้นเป็น0.0
- ระบุลำดับความสำคัญของกลุ่มเป้าหมายที่กำหนดเอง: อนุญาตให้ผู้ซื้อระบุค่าลำดับความสำคัญในกลุ่มเป้าหมายที่กำหนดเอง ระบบจะใช้ฟิลด์
การเปลี่ยนแปลงข้อมูลเพย์โหลด
- ลดข้อมูลที่ส่งในเพย์โหลด: ตามที่ระบุไว้ในการเพิ่มประสิทธิภาพเพย์โหลดของบริการการเสนอราคาและการประมูล เพย์โหลดที่สูงขึ้นเกิดจาก
ads
ข้อมูลกลุ่มเป้าหมายที่กำหนดเอง สัญญาณการเสนอราคาของผู้ใช้ และสัญญาณ Android คุณลดเพย์โหลดที่สูงขึ้นได้โดยทำดังนี้- ให้ไคลเอ็นต์ส่งรหัสการแสดงโฆษณา (แทนออบเจ็กต์โฆษณา) ใน เพย์โหลด
- ให้ไคลเอ็นต์ไม่ส่งข้อมูลโฆษณาในเพย์โหลด
- ไม่ส่งสัญญาณการเสนอราคาของผู้ใช้ในเพย์โหลดไคลเอ็นต์
- ลดข้อมูลที่ส่งในเพย์โหลด: ตามที่ระบุไว้ในการเพิ่มประสิทธิภาพเพย์โหลดของบริการการเสนอราคาและการประมูล เพย์โหลดที่สูงขึ้นเกิดจาก
แม้ว่ากลยุทธ์เหล่านี้จะช่วยให้เทคโนโลยีโฆษณากําหนดค่าเพื่อ
จัดการadSelectionData
องค์ประกอบและขีดจํากัดของเพย์โหลดได้ แต่ก็อาจกลายเป็น
ปัจจัยในการปรับadSelectionData
ขนาดโดยการเปลี่ยนพารามิเตอร์การกําหนดค่าได้เช่นกัน เพื่อหลีกเลี่ยงปัญหานี้ Protected
Audience จะดึงข้อมูลการกำหนดค่าจากปลายทางที่กำหนดค่าไว้ทุกวัน
การเพิ่มประสิทธิภาพเวลาในการตอบสนอง
การประมูลฝั่งเซิร์ฟเวอร์จะมีประโยชน์ในระดับที่ต้องการได้ เราต้องมั่นใจว่า API getAdSelectionData
และ API persistAdSelectionResult
มีเวลาในการตอบสนองต่ำต่อการเรียกใช้แต่ละครั้ง แม้ว่าเราตั้งใจที่จะให้การสนับสนุนฟีเจอร์สำหรับ API ในปี 2023 แต่การเปิดตัวครั้งต่อๆ ไปจะมุ่งเน้นที่เกณฑ์เปรียบเทียบเวลาในการตอบสนองและการเพิ่มประสิทธิภาพสำหรับ API
เรากำลังพิจารณากลยุทธ์ต่อไปนี้เพื่อรักษาเวลาในการตอบสนองให้อยู่ในขีดจำกัดที่ยอมรับได้
การสร้างข้อมูล Protected Audience ล่วงหน้าต่อผู้ขาย: เนื่องจาก การกำหนดค่าการประมูลของผู้ขายและเพย์โหลดของผู้ซื้อจะคงที่เป็นระยะเวลา นานพอสมควร (ทุกวัน) แพลตฟอร์มจึงสามารถคำนวณล่วงหน้าและจัดเก็บ ข้อมูล Protected Audience ที่มีสิทธิ์ได้
ซึ่งแพลตฟอร์มจะต้องสร้างกลไกในการตรวจสอบการอัปเดตกลุ่มเป้าหมายที่กำหนดเองและแก้ไขข้อมูล Protected Audience ที่สร้างไว้ล่วงหน้าตามการอัปเดต แพลตฟอร์มยังต้องประกาศ SLO เกี่ยวกับความล่าช้าในการแข่งขัน ที่เทคโนโลยีโฆษณาคาดหวังได้ระหว่างการอัปเดตกลุ่มเป้าหมายที่กำหนดเองกับการเห็น การเปลี่ยนแปลงใน
adSelectionData
` ที่สร้างขึ้นสำหรับการประมูลฝั่งเซิร์ฟเวอร์เนื่องจากอุปกรณ์มีโมเดลการคำนวณทรัพยากรแบบจำกัดที่มีลำดับความสำคัญของกระบวนการแตกต่างกัน เราจึงทราบดีว่าการให้บริการก่อนการสร้างนี้ ต้องมาพร้อมกับการรับประกันความน่าเชื่อถือสูงและ SLO
จากนั้นการสร้างข้อมูล Protected Audience ล่วงหน้าจะอิงตาม
- ผู้ขายเลือกใช้เพื่อสร้างข้อมูล Protected Audience ล่วงหน้า
- ผู้ซื้อที่มีสิทธิ์เข้าร่วมการประมูลที่เริ่มต้นโดยผู้ขายรายใดรายหนึ่ง
- การระบุกลุ่มเป้าหมายที่กำหนดเองต่อผู้ซื้อแต่ละรายซึ่งจะเป็นส่วนหนึ่งของ
เพย์โหลดโดยอิงตามข้อมูลต่อไปนี้
- ขีดจำกัดขนาดต่อผู้ซื้อ ลำดับความสำคัญต่อผู้ซื้อ และขีดจำกัดขนาดสูงสุด ที่กำหนดในการกำหนดค่าผู้ขาย
- ขีดจํากัดขนาดต่อผู้ขาย ลําดับความสําคัญของกลุ่มเป้าหมายที่กําหนดเองซึ่งกําหนดไว้ในการกําหนดค่าผู้ซื้อ
การใช้การกรองเชิงลบอย่างรวดเร็ว: หากผู้ขายต้องการ แพลตฟอร์มจะคำนวณ
adSelectionData
ล่วงหน้าได้โดยการสร้าง ข้อมูลกลุ่มเป้าหมายที่ปกป้องความเป็นส่วนตัวล่วงหน้า และใช้การกรองเชิงลบจากคําสั่งเรียกที่สําคัญgetAdSelectionData
ซึ่งจะช่วยให้ผู้ขายลดเวลาในการตอบสนอง ขณะเดียวกันก็ยอมรับความล้าสมัยในการกรองเชิงลบได้แพลตฟอร์มสามารถให้การสนับสนุนนี้ได้โดยการระบุตัวเลือกเริ่มต้นในการกำหนดค่าผู้ขายที่มีขีดจำกัดความล้าสมัยและตัวเลือกการลบล้างใน
getAdSelectionData
เพื่อให้สามารถคำนวณข้อมูลล่าสุดได้หากจำเป็น หรือแพลตฟอร์มอาจมี API การเริ่มต้นเพิ่มเติม ที่จะเรียกใช้ก่อนgetAdSelectionData
เพื่อวอร์มอัปการประมูลการคำนวณเพย์โหลดสำหรับการประมูลหลายรายการ: ในบางสถานการณ์ การมี API ที่มีประสิทธิภาพด้านเวลาในการตอบสนองอาจเป็นสิ่งที่ต้องการมากกว่า แม้ว่าข้อมูลจะล้าสมัยมากขึ้น แพลตฟอร์มอาจเปิดตัว API การเริ่มต้นเพื่อคำนวณเพย์โหลดทั้งหมดและให้การอ้างอิงถึงเพย์โหลดที่คำนวณแล้วแก่ผู้เรียก
สำหรับการโทรครั้งต่อๆ ไปที่
getAdSelectionData
ผู้โทรสามารถอ้างอิงถึงเพย์โหลดที่คำนวณไว้ล่วงหน้าเพื่อใช้ในการสร้างadSelectionData
ได้
กลยุทธ์ทั้ง 3 นี้อยู่ในระยะการสำรวจเบื้องต้น และมีไว้เพื่ออธิบายทิศทางที่แพลตฟอร์มอาจใช้เพื่อเพิ่มประสิทธิภาพสำหรับ เวลาในการตอบสนอง เราจะเสนอแนะกลยุทธ์เพิ่มเติมต่อไปในขณะที่ศึกษาโปรไฟล์เวลาในการตอบสนองของ API และข้อกำหนดด้านเทคโนโลยีโฆษณาอย่างละเอียดมากขึ้น
การบรรเทาและการระบุการละเมิด
ตามที่ระบุไว้ในข้อควรพิจารณาด้านความเป็นส่วนตัว adSelectionData
สร้างขึ้นโดยใช้
ข้อมูลผู้ซื้อทั้งหมดในอุปกรณ์
อย่างไรก็ตาม หากใช้ข้อมูลผู้ซื้อทั้งหมดในอุปกรณ์เพื่อสร้างadSelectionData
เอาต์พุต ผู้ไม่ประสงค์ดีอาจแอบอ้างเป็นผู้ซื้อและสร้างข้อมูลผู้ซื้อที่เป็นการฉ้อโกงเพื่อลดประสิทธิภาพของ Android เพิ่มขนาดเพย์โหลดเพื่อเพิ่มต้นทุนสำหรับเทคโนโลยีโฆษณาในการประมูลหรือเสนอราคา และอื่นๆ
การลดปัญหา
มาตรการบางอย่างที่กล่าวถึงในส่วนข้อควรพิจารณาเกี่ยวกับขนาด เช่น การกำหนดค่าเพย์โหลดของผู้ซื้อ ที่มีผู้ขายที่ได้รับอนุญาตและการกำหนดค่าการประมูลของผู้ขาย ที่มีผู้ซื้อที่ได้รับอนุญาต จะช่วยยกเว้นข้อมูลที่ไม่คาดคิดใน เพย์โหลด
มาตรการอื่นๆ ในการพิจารณาขนาด เช่น การอนุญาตให้ SSP ระบุลำดับความสำคัญของผู้ซื้อ การกำหนดโควต้าต่อผู้ซื้อในเพย์โหลดที่สร้างขึ้น และการกำหนดขนาดสูงสุดต่อเพย์โหลดการประมูล ก็ช่วยลดผลกระทบของการขยายเพย์โหลดที่เป็นอันตรายได้เช่นกัน มาตรการเหล่านี้มีจุดประสงค์เพื่อให้เทคโนโลยีโฆษณากำหนดเทคโนโลยีโฆษณา ที่ทำงานร่วมกัน และกำหนดขีดจำกัดที่ยอมรับได้สำหรับเพย์โหลดที่ต้องประมวลผล
ดังที่กล่าวไว้ก่อนหน้านี้ การลดความเสี่ยงทั้งหมดที่นํามาใช้เพื่อป้องกันการละเมิดและข้อจํากัดด้านขนาด ต้องเป็นไปตามข้อควรพิจารณาด้านความเป็นส่วนตัว
การระบุเอนทิตีที่เป็นอันตราย
แม้ว่าการลดความเสี่ยงเหล่านี้จะช่วยปกป้องรุ่น adSelectionData
สำหรับการประมูลเซิร์ฟเวอร์ แต่ก็ไม่ได้ช่วยระบุเอนทิตีที่เป็นอันตรายหรือปกป้องแพลตฟอร์มจากการละเมิด เช่น การสร้างกลุ่มเป้าหมายที่กำหนดเองจำนวนมากอย่างที่ไม่เคยมีมาก่อนจากผู้ซื้อ
เราจำเป็นต้องหาวิธีการระบุเอนทิตีที่เป็นอันตราย ระบุเวกเตอร์การละเมิด และระบุแรงจูงใจในการโจมตีที่เฉพาะเจาะจง เพื่อยืนยันความเสถียรและสถานะของแพลตฟอร์ม ในรุ่นต่อๆ ไป เราจะเปิดตัววิดีโออธิบาย ที่ให้รายละเอียดเกี่ยวกับเวกเตอร์การละเมิดที่อาจเกิดขึ้นและการป้องกันที่มีอยู่เพื่อรับมือกับการละเมิดเหล่านั้น