รูปแบบโฆษณาเนทีฟช่วยให้ผู้เผยแพร่โฆษณาปรับแต่งโฆษณาที่จะแสดงต่อผู้ใช้ได้ หลังจากดึงข้อมูลโฆษณาจาก SDK แล้ว ผู้เผยแพร่โฆษณาสามารถเปลี่ยนเลย์เอาต์และรูปลักษณ์ของโฆษณาให้สอดคล้องกับอินเทอร์เฟซผู้ใช้ของแอปพลิเคชันมากขึ้น เช่น เพิ่มฟิลเตอร์สี เปลี่ยนแบบอักษร และเพิ่มการวางซ้อนที่กําหนดเอง ผู้เผยแพร่โฆษณามักตั้งค่าขีดจํากัดการแสดงผลหรือส่งต่อการเล่นวิดีโอไปยัง SDK เพื่อเพิ่มประสิทธิภาพหรือประสบการณ์ของผู้ใช้โฆษณาเนทีฟ สุดท้าย ผู้เผยแพร่โฆษณาสามารถปรับแต่งโปรแกรมรับฟังการคลิกโฆษณาเพื่อตรวจสอบเหตุการณ์เพิ่มเติม เช่น การปัดขึ้น
รูปแบบโฆษณาเนทีฟต้องใช้ความไว้วางใจในระดับที่สูงกว่าผู้เผยแพร่โฆษณาในการแสดงโฆษณารูปแบบอื่นๆ โดยปกติแล้ว SDK ต้องการตรวจหาการละเมิดนโยบายและยืนยันว่าเนื้อหาโฆษณาที่ให้แก่ผู้เผยแพร่โฆษณาแสดงต่อผู้ใช้แล้ว
การรองรับโฆษณาแบนเนอร์ในรันไทม์ของ SDK ทำได้ผ่าน SurfaceControlViewHost
API ซึ่งช่วยให้ SDK แสดงองค์ประกอบอินเทอร์เฟซผู้ใช้จากกระบวนการรันไทม์ของ SDK ได้โดยไม่มีแอปพลิเคชันไคลเอ็นต์แทรกแซง ใช้โหมด SurfaceView Z ด้านบนหรือ Z ด้านล่างเพื่อระบุว่าแพลตฟอร์มที่แสดงผล UI ของ SDK อยู่เหนือหรือใต้หน้าต่างของแอปพลิเคชันไคลเอ็นต์ เมื่อแสดงผลโฆษณาโดยใช้โหมด Z ด้านบน SDK จะรับ MotionEvents
จากการโต้ตอบของผู้ใช้ แต่มุมมองแอปพลิเคชันไคลเอ็นต์จะมองไม่เห็นโฆษณา เมื่อระบบแสดงผลโฆษณาในโหมด Z ด้านล่าง แอปพลิเคชันจะแสดงมุมมองของตัวเองที่ด้านบนของโฆษณา แต่MotionEvents
การโต้ตอบของผู้ใช้กับโฆษณาจะไปที่แอปพลิเคชัน ไม่ใช่ SDK
SDK และผู้เผยแพร่โฆษณาสามารถใช้ไลบรารี privacysandbox.ui ของ Jetpack เพื่อสร้างและดูแลรักษาเซสชัน UI
คอนเทนเนอร์โฆษณาที่แอปเป็นเจ้าของ
เราได้สร้างต้นแบบเพื่อให้ SDK เป็นเจ้าของมุมมองทั้งหมดที่ประกอบด้วยโฆษณาเนทีฟ (รวมถึงการวางซ้อนของแอปพลิเคชัน) และพบว่าแม้ว่าจะเป็นไปได้ แต่ก็มีข้อจํากัดบางอย่างใน UI และเพิ่มความซับซ้อนในการผสานรวมกับ SDK แนวทางที่ใช้งานได้จริงมากกว่าคือให้แอปพลิเคชันเป็นเจ้าของยอดดูส่วนใหญ่ SDK จะยังคงเลือกแสดง UI บางรายการได้เอง เช่น มุมมองโฆษณา โดยใช้ SandboxedSdkView
จาก privacysandbox.ui แนวทางนี้มีความยืดหยุ่นมากที่สุดในการสนับสนุนกรณีการใช้งานที่มีอยู่และในอนาคตสำหรับรูปแบบโฆษณานี้ เมื่อใช้แนวทางนี้ นักพัฒนาแอปจะย้ายองค์ประกอบโฆษณาและจัดสไตล์ได้ตามต้องการ ขณะที่ SDK จะยังคงเป็นเจ้าของโปรแกรมเล่นวิดีโอ (หากต้องการ) และยังคงเข้าถึงการควบคุมสื่อได้
การแจ้งเตือนเกี่ยวกับสถานะโฆษณา
SDK แต่ละรายการจะพิจารณาพร็อพเพอร์ตี้ที่แตกต่างกันของการดูโฆษณาเพื่อตรวจจับการประพฤติมิชอบและการละเมิดนโยบาย เราต้องการรองรับการดำเนินการนี้โดยไม่กำหนดพร็อพเพอร์ตี้ที่จะใช้ หรือเป็นคอขวดที่ทำให้ SDK เปลี่ยนชุดพร็อพเพอร์ตี้ที่ค้นหา เราขอแนะนำให้สร้างการแสดงโฆษณาคอนเทนเนอร์และมุมมองย่อยของคอนเทนเนอร์โดยใช้ NativeAdContainerInfo
ข้อมูลนี้จะเป็นส่วนออบเจ็กต์ที่แยกออกเป็นส่วนๆ ได้ โดยมี Get ต่างๆ ที่แสดงข้อมูลที่จํากัดอยู่ในคอนเทนเนอร์โฆษณาและเนื้อหาของคอนเทนเนอร์ โดยข้อมูลดังกล่าวจะรักษาความเป็นส่วนตัวและไม่จําเป็นต้องประมวลผลด้วยค่าใช้จ่ายสูง SDK จะเลือกรับหมวดหมู่สัญญาณที่รวมอยู่ใน NativeAdContainerInfo
ได้ SDK จะได้รับออบเจ็กต์นี้ทุกครั้งที่สถานะโฆษณาเปลี่ยนแปลงในลักษณะที่เกี่ยวข้องกับ SDK เช่น เหตุการณ์ที่เรียกเก็บเงินได้ เช่น การแสดงโฆษณาและการคลิกของผู้ใช้`
นอกจากนี้ ผู้เผยแพร่โฆษณาจะเพิ่มแท็กเฉพาะมุมมอง (สตริง) ลงในรายการย่อยแต่ละรายการที่เพิ่มลงใน NativeAdContainer
ได้ ซึ่งสามารถใช้เพื่อแจ้งให้ SDK ทราบว่าชิ้นงานโฆษณาใดที่รายการย่อยแต่ละรายการเชื่อมโยงอยู่
เมื่อผู้ใช้คลิกที่มุมมองที่เป็นของ SDK ไลบรารี UI จะส่งต่อ MotionEvent
ที่มีพร็อพเพอร์ตี้ที่แปลเป็นพื้นที่พิกัดของ SDK ไปยัง SDK พร้อมกับ MotionEvent เดิม สําหรับ Android เวอร์ชันในอนาคต เรากําลังหาวิธีเพิ่มวิธีต่างๆ เพื่อให้แอปพลิเคชันไคลเอ็นต์โอนโฟกัสการสัมผัสสําหรับท่าทางสัมผัสทั้งหมดของผู้ใช้ในส่วนโฆษณาเนทีฟที่ SDK เป็นเจ้าของเพื่อให้ SDK จัดการ
เอกสารรับรอง
SDK จะใช้การรับรองต่อไปนี้เพื่อให้มั่นใจมากขึ้นเกี่ยวกับการนำเสนอโฆษณา
- เอกสารรับรองความสมบูรณ์ของอุปกรณ์: ใช้ API ของแพลตฟอร์ม เช่น เอกสารรับรองคีย์เพื่อระบุความสมบูรณ์ของอุปกรณ์
- ข้อมูลประจำตัวของ APK: ใช้ SdkSandbox API เช่น
SdkSandboxController.getClientPackageName
และ PackageManager API เช่นrequestChecksum
เพื่อยืนยันข้อมูลประจำตัวของ APK VerifiedMotionEvents
: ใน Android เวอร์ชันต่อๆ ไป เราจะพิจารณาเปิดใช้แอปพลิเคชันไคลเอ็นต์เพื่อโอนโฟกัสการสัมผัสสำหรับท่าทางสัมผัสทั้งหมดของผู้ใช้ในส่วนโฆษณาเนทีฟของ SDK ที่ SDK เป็นเจ้าของเพื่อให้ SDK จัดการMotionEvents
สามารถแปลงเป็นVerifiedMotionEvents
ได้โดยใช้ API ของระบบ SDK สามารถแสดง UI ของตัวเองเพื่อตอบสนองต่อการโต้ตอบของผู้ใช้ได้หากต้องการ
คำถามปลายเปิด
- คุณต้องการให้ SDK สร้าง
VerifiedMotionEvents
เอง หรือให้ไลบรารี UI ของผู้ให้บริการสร้างVerifiedMotionEvents
ให้ SDK - SDK ควรอนุญาตให้ผู้เผยแพร่โฆษณาเป็นเจ้าของยอดดูที่มีวิดีโอ หรือเป็นเจ้าของยอดดูเหล่านี้เอง
- คุณต้องการรวมพร็อพเพอร์ตี้ใดไว้ในออบเจ็กต์
AppOwnedAdContainerInfo
- คุณคาดหวังว่าจะมีโฆษณาหรือคอมโพเนนต์โฆษณาของ SDK กี่รายการแสดงพร้อมกันบนหน้าจอ