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

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

รูปแบบโฆษณาเนทีฟต้องอาศัยความน่าเชื่อถือในระดับสูงกว่าสำหรับผู้เผยแพร่โฆษณา เมื่อเทียบกับรูปแบบโฆษณาอื่นๆ โดยปกติแล้ว SDK จะต้องการตรวจหาการละเมิดนโยบาย และยืนยันว่าเนื้อหาโฆษณาที่มอบให้ผู้เผยแพร่โฆษณาแสดงต่อผู้ใช้

การรองรับโฆษณาแบนเนอร์ในรันไทม์ของ SDK จะทำได้ผ่าน API SurfaceControlViewHost ซึ่งช่วยให้ SDK แสดงองค์ประกอบของอินเทอร์เฟซผู้ใช้ จากกระบวนการรันไทม์ของ SDK ได้โดยไม่ต้องให้แอปพลิเคชันไคลเอ็นต์ ดัดแปลง ใช้โหมด SurfaceView Z above หรือ Z below เพื่อพิจารณา ว่าพื้นผิวที่แสดง UI ของ SDK อยู่เหนือหรือใต้หน้าต่างของแอปพลิเคชันไคลเอ็นต์ เมื่อแสดงโฆษณาโดยใช้โหมด Z above SDK จะได้รับ MotionEvents จากการโต้ตอบของผู้ใช้ แต่มุมมองของแอปพลิเคชันไคลเอ็นต์จะไม่ปรากฏเหนือโฆษณา เมื่อแสดงโฆษณาในโหมด Z ด้านล่าง แอปพลิเคชันจะแสดงมุมมองของตัวเองเหนือโฆษณา แต่MotionEventsจากการโต้ตอบของผู้ใช้ในโฆษณาจะไปที่แอปพลิเคชัน ไม่ใช่ SDK

SDK และผู้เผยแพร่โฆษณาสามารถใช้ไลบรารี Jetpack privacysandbox.ui เพื่อสร้างและรักษาเซสชัน UI ได้

คอนเทนเนอร์โฆษณาที่เป็นของแอป

เราได้สร้างต้นแบบที่อนุญาตให้ SDK เป็นเจ้าของมุมมองทั้งหมดที่ประกอบกันเป็นโฆษณาเนทีฟ (รวมถึง การวางซ้อนของแอปพลิเคชัน) และพบว่าแม้จะทำได้ แต่ก็มีข้อจำกัดบางอย่าง ใน UI และเพิ่มความซับซ้อนในการผสานรวมกับ SDK แนวทางที่ สมเหตุสมผลกว่าคือการปล่อยให้แอปพลิเคชันเป็นเจ้าของมุมมองส่วนใหญ่ SDK ยังคงเลือกที่จะแสดง UI บางอย่างด้วยตนเองได้ เช่น มุมมองโฆษณา โดยใช้ SandboxedSdkView จาก privacysandbox.ui แนวทางนี้มีความยืดหยุ่นมากที่สุดในวิธีที่ระบบรองรับกรณีการใช้งานที่มีอยู่และในอนาคตสำหรับรูปแบบโฆษณานี้ โดยแนวทางนี้ช่วยให้นักพัฒนาแอปสามารถย้ายคอมโพเนนต์โฆษณาไปมาและจัดรูปแบบได้ตามต้องการ ขณะที่ SDK จะยังคงเป็นเจ้าของวิดีโอเพลเยอร์ (หากต้องการ) และยังคงเข้าถึงตัวควบคุมสื่อได้

แผนภาพที่แสดงการไหลของข้อมูลระหว่างผู้เผยแพร่โฆษณาและ SDK
โฟลว์การควบคุมโฆษณาเนทีฟที่เสนอ

การแจ้งเตือนเกี่ยวกับสถานะโฆษณา

SDK แต่ละรายการจะดูพร็อพเพอร์ตี้ที่แตกต่างกันของการดูโฆษณาเพื่อตรวจหาการฉ้อโกงและการละเมิดนโยบาย เราต้องการรองรับการดำเนินการนี้โดยไม่ต้องกำหนดพร็อพเพอร์ตี้ที่จะใช้ หรือกลายเป็นคอขวดสำหรับ SDK ที่เปลี่ยนชุดพร็อพเพอร์ตี้ที่ค้นหา เราขอเสนอให้สร้างการแสดงคอนเทนเนอร์โฆษณา และมุมมองลูกๆ ของคอนเทนเนอร์โดยใช้ NativeAdContainerInfo ซึ่งจะเป็นออบเจ็กต์ที่ส่งผ่านได้ พร้อมตัวรับค่าต่างๆ ที่แสดงข้อมูลซึ่งจำกัดไว้เฉพาะคอนเทนเนอร์โฆษณาและ เนื้อหาของคอนเทนเนอร์ โดยข้อมูลดังกล่าวจะรักษาความเป็นส่วนตัวและคำนวณได้ไม่ยาก SDK จะเลือกใช้หมวดหมู่ของสัญญาณที่รวมอยู่ใน NativeAdContainerInfo ได้ SDK จะได้รับออบเจ็กต์นี้เมื่อใดก็ตามที่สถานะโฆษณา เปลี่ยนแปลงในลักษณะที่เกี่ยวข้องกับ SDK เช่น เหตุการณ์ที่เรียกเก็บเงินได้ เช่น การแสดงโฆษณา และการคลิกของผู้ใช้`

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

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

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

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

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

คำถามเปิด

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