รูปแบบโฆษณาเนทีฟช่วยให้ผู้เผยแพร่โฆษณาปรับแต่งโฆษณาที่แสดงต่อผู้ใช้ได้ หลังจากดึงข้อมูลโฆษณาจาก SDK แล้ว ผู้เผยแพร่โฆษณาสามารถเปลี่ยนการออกแบบ และรูปลักษณ์ของโฆษณาให้สอดคล้องกับอินเทอร์เฟซผู้ใช้ของแอปพลิเคชันมากขึ้น เช่น การเพิ่มฟิลเตอร์สี เปลี่ยนการพิมพ์ และการเพิ่มการวางซ้อนที่กำหนดเอง ผู้เผยแพร่โฆษณามักจะกำหนดขีดจำกัดในการแสดงผลหรือลดภาระการเล่นวิดีโอลงใน SDK เพื่อเพิ่มประสิทธิภาพหรือประสบการณ์ของผู้ใช้ของโฆษณาเนทีฟ และสุดท้าย ผู้เผยแพร่โฆษณาสามารถปรับแต่ง Listener การคลิกโฆษณาเพื่อตรวจสอบเหตุการณ์อื่นๆ เพิ่มเติมได้ เช่น การปัดขึ้นด้านบน
รูปแบบโฆษณาเนทีฟกำหนดให้ผู้เผยแพร่โฆษณาไว้วางใจได้ในระดับที่สูงกว่าที่จำเป็นในการแสดงรูปแบบโฆษณาอื่นๆ โดยทั่วไปแล้ว SDK ต้องการตรวจหาการละเมิดนโยบายและยืนยันว่าเนื้อหาโฆษณาที่ให้ไว้กับผู้เผยแพร่โฆษณาแสดงต่อผู้ใช้
ระบบจะรองรับโฆษณาแบนเนอร์ในรันไทม์ของ SDK ผ่าน API ของ SurfaceControlViewHost
วิธีนี้ช่วยให้ SDK แสดงองค์ประกอบอินเทอร์เฟซผู้ใช้จากกระบวนการรันไทม์ของ SDK ได้โดยไม่ต้องแก้ไขจากแอปพลิเคชันไคลเอ็นต์ ใช้โหมด SurfaceView Z ด้านบนหรือ Z ด้านล่างเพื่อพิจารณาว่าพื้นที่แสดงผล UI ของ SDK นั้นอยู่สูงหรือใต้หน้าต่างแอปพลิเคชันไคลเอ็นต์ เมื่อโฆษณาแสดงผลโดยใช้โหมด Z ด้านบน SDK จะได้รับ MotionEvents
จากการโต้ตอบของผู้ใช้ แต่การแสดงผลแอปพลิเคชันไคลเอ็นต์จะไม่แสดงบนโฆษณา เมื่อโฆษณาแสดงผลในโหมด Z ด้านล่าง แอปพลิเคชันจะแสดงมุมมองของตัวเองที่ด้านบนของโฆษณา แต่ MotionEvents
จากการโต้ตอบของผู้ใช้บนโฆษณาไปที่แอปพลิเคชัน ไม่ใช่ SDK
SDK และผู้เผยแพร่โฆษณาใช้ไลบรารี Jetpack privacysandbox.ui เพื่อสร้างและดูแลเซสชัน UI ได้
คอนเทนเนอร์โฆษณาที่แอปเป็นเจ้าของ
เราสร้างต้นแบบให้ SDK เป็นเจ้าของการแสดงผลทั้งหมดที่ประกอบด้วยโฆษณาเนทีฟ (รวมถึงโฆษณาซ้อนทับของแอปพลิเคชัน) และพบว่าแม้จะทำได้ แต่ก็ยังจำกัด UI และเพิ่มความซับซ้อนในการรวมเข้ากับ SDK แนวทางที่ยึดมั่นในตัวเองมากขึ้นคือให้แอปพลิเคชันเป็นเจ้าของยอดดูมากที่สุด SDK จะยังคงเลือกแสดง UI บางส่วน เช่น การดูโฆษณา ได้โดยใช้ SandboxedSdkView
จาก privacysandbox.ui แนวทางนี้มีความยืดหยุ่นมากที่สุดในการรองรับ Use Case ที่มีอยู่และในอนาคตสําหรับรูปแบบโฆษณานี้ วิธีการนี้ช่วยให้นักพัฒนาแอปสามารถย้ายองค์ประกอบโฆษณาไปปรับเปลี่ยนต่างๆ และปรับสไตล์ได้ตามต้องการ ในขณะที่ SDK จะยังคงเป็นเจ้าของโปรแกรมเล่นวิดีโอ หากต้องการ และยังคงรักษาสิทธิ์เข้าถึงการควบคุมสื่อไว้ได้
การแจ้งเตือนเกี่ยวกับสถานะโฆษณา
SDK ที่ต่างกันจะพิจารณาพร็อพเพอร์ตี้ที่ต่างกันของการดูโฆษณา เพื่อตรวจหาการประพฤติมิชอบและการละเมิดนโยบาย เราต้องการรองรับการทำงานนี้โดยไม่ต้องกำหนดพร็อพเพอร์ตี้ที่จะใช้ หรือจะกลายเป็นจุดคอขวดที่ทำให้ SDK เปลี่ยนชุดพร็อพเพอร์ตี้ที่ค้นหา เราขอเสนอให้สร้างการนำเสนอคอนเทนเนอร์โฆษณาและมุมมองย่อย โดยใช้ NativeAdContainerInfo
ซึ่งจะเป็นออบเจ็กต์ที่แยกส่วนได้ซึ่งมี Getter ต่างๆ ซึ่งเปิดเผยข้อมูลที่จำกัดไว้เพียงคอนเทนเนอร์โฆษณาและเนื้อหาเท่านั้น โดยที่ข้อมูลดังกล่าวรักษาความเป็นส่วนตัวและไม่แพงในการคำนวณ 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 จัดการได้MotionEvents
แปลงเป็นVerifiedMotionEvents
ได้โดยใช้ API ของระบบ SDK สามารถแสดง UI ของตัวเองเพื่อตอบสนองต่อการโต้ตอบของผู้ใช้หากพวกเขาเลือก
คำถามปลายเปิด
เราขอเชิญชวนความคิดเห็นเกี่ยวกับประเด็นต่อไปนี้
- จะให้ SDK สร้าง
VerifiedMotionEvents
เองมากกว่า หรือให้ไลบรารี UI ของผู้ให้บริการสร้างสำหรับ SDK - การที่ SDK จะให้ผู้เผยแพร่โฆษณาเป็นเจ้าของยอดดูที่มีวิดีโอหรือเป็นเจ้าของยอดดูเหล่านี้เองดีกว่ากัน
- คุณต้องการให้พร็อพเพอร์ตี้ใดรวมอยู่ในออบเจ็กต์
AppOwnedAdContainerInfo
- คุณคาดว่าจะแสดงโฆษณาหรือองค์ประกอบโฆษณาที่ SDK เป็นเจ้าของพร้อมกันบนหน้าจอกี่รายการ