โฆษณาเนทีฟบน Android

รูปแบบโฆษณาเนทีฟช่วยให้ผู้เผยแพร่โฆษณาปรับแต่งโฆษณาที่จะแสดงต่อผู้ใช้ได้ หลังจากดึงข้อมูลโฆษณาจาก 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 แต่ละรายการจะพิจารณาพร็อพเพอร์ตี้ที่แตกต่างกันของการดูโฆษณาเพื่อตรวจจับการประพฤติมิชอบและการละเมิดนโยบาย เราต้องการรองรับการดำเนินการนี้โดยไม่กำหนดพร็อพเพอร์ตี้ที่จะใช้ หรือเป็นคอขวดที่ทำให้ SDK เปลี่ยนชุดพร็อพเพอร์ตี้ที่ค้นหา เราขอแนะนำให้สร้างการแสดงโฆษณาคอนเทนเนอร์และมุมมองย่อยของคอนเทนเนอร์โดยใช้ NativeAdContainerInfo ข้อมูลนี้จะเป็นส่วนออบเจ็กต์ที่แยกออกเป็นส่วนๆ ได้ โดยมี Get ต่างๆ ที่แสดงข้อมูลที่จํากัดอยู่ในคอนเทนเนอร์โฆษณาและเนื้อหาของคอนเทนเนอร์ โดยข้อมูลดังกล่าวจะรักษาความเป็นส่วนตัวและไม่จําเป็นต้องประมวลผลด้วยค่าใช้จ่ายสูง SDK จะเลือกรับหมวดหมู่สัญญาณที่รวมอยู่ใน NativeAdContainerInfo ได้ SDK จะได้รับออบเจ็กต์นี้ทุกครั้งที่สถานะโฆษณาเปลี่ยนแปลงในลักษณะที่เกี่ยวข้องกับ SDK เช่น เหตุการณ์ที่เรียกเก็บเงินได้ เช่น การแสดงโฆษณาและการคลิกของผู้ใช้`

นอกจากนี้ ผู้เผยแพร่โฆษณาจะเพิ่มแท็กเฉพาะมุมมอง (สตริง) ลงในรายการย่อยแต่ละรายการที่เพิ่มลงใน NativeAdContainer ได้ ซึ่งสามารถใช้เพื่อแจ้งให้ SDK ทราบว่าชิ้นงานโฆษณาใดที่รายการย่อยแต่ละรายการเชื่อมโยงอยู่

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

เอกสารรับรอง

SDK จะใช้การรับรองต่อไปนี้เพื่อให้มั่นใจมากขึ้นเกี่ยวกับการนำเสนอโฆษณา

  1. เอกสารรับรองความสมบูรณ์ของอุปกรณ์: ใช้ API ของแพลตฟอร์ม เช่น เอกสารรับรองคีย์เพื่อระบุความสมบูรณ์ของอุปกรณ์
  2. ข้อมูลประจำตัวของ APK: ใช้ SdkSandbox API เช่น SdkSandboxController.getClientPackageName และ PackageManager API เช่น requestChecksum เพื่อยืนยันข้อมูลประจำตัวของ APK
  3. VerifiedMotionEvents: ใน Android เวอร์ชันต่อๆ ไป เราจะพิจารณาเปิดใช้แอปพลิเคชันไคลเอ็นต์เพื่อโอนโฟกัสการสัมผัสสำหรับท่าทางสัมผัสทั้งหมดของผู้ใช้ในส่วนโฆษณาเนทีฟของ SDK ที่ SDK เป็นเจ้าของเพื่อให้ SDK จัดการ MotionEvents สามารถแปลงเป็น VerifiedMotionEvents ได้โดยใช้ API ของระบบ SDK สามารถแสดง UI ของตัวเองเพื่อตอบสนองต่อการโต้ตอบของผู้ใช้ได้หากต้องการ

คำถามปลายเปิด

  1. คุณต้องการให้ SDK สร้าง VerifiedMotionEvents เอง หรือให้ไลบรารี UI ของผู้ให้บริการสร้าง VerifiedMotionEvents ให้ SDK
  2. SDK ควรอนุญาตให้ผู้เผยแพร่โฆษณาเป็นเจ้าของยอดดูที่มีวิดีโอ หรือเป็นเจ้าของยอดดูเหล่านี้เอง
  3. คุณต้องการรวมพร็อพเพอร์ตี้ใดไว้ในออบเจ็กต์ AppOwnedAdContainerInfo
  4. คุณคาดหวังว่าจะมีโฆษณาหรือคอมโพเนนต์โฆษณาของ SDK กี่รายการแสดงพร้อมกันบนหน้าจอ