ตอนนี้ Google Mobile Ads SDK รองรับ MRAID v3 เวอร์ชันเบต้าแล้ว โดยสร้างขึ้นจากการรองรับ MRAID v2 ที่มีอยู่ ซึ่งช่วยให้ผู้ลงโฆษณาสามารถแสดงครีเอทีฟโฆษณา MRAID v3 แก่ผู้เผยแพร่โฆษณา Ad Manager ได้ คู่มือนี้จะอธิบายรายละเอียดการใช้งาน MRAID ที่ไม่ชัดเจนและเปิดให้ตีความในข้อกำหนดเฉพาะของ MRAID v3 โดยมีกลุ่มเป้าหมายเป็นผู้เขียนครีเอทีฟโฆษณา MRAID v3
ข้อกำหนดเบื้องต้น
ผู้เผยแพร่โฆษณาต้องใช้สิ่งต่อไปนี้
ข้อมูลเบื้องต้นที่เป็นประโยชน์
หากคุณไม่คุ้นเคยกับ MRAID โปรดดูข้อมูลเพิ่มเติมที่หน้า IAB MRAID นอกจากนี้ คุณยังดาวน์โหลดเอกสารคำจำกัดความของ MRAID v3 ซึ่งให้รายละเอียดเกี่ยวกับพารามิเตอร์ทั้งหมดที่กล่าวถึงด้านล่าง รวมถึงบล็อกโพสต์ของ IAB เกี่ยวกับ MRAID v3 ได้ด้วย
รายละเอียดการใช้งาน MRAID v3 (เบต้า)
การมองเห็นโฆษณา - เหตุการณ์ exposureChange
ระบบรองรับเหตุการณ์นี้ และเราขอแนะนำให้ใช้ Listener สำหรับเหตุการณ์ exposureChange ใหม่แทนเหตุการณ์ viewableChange ที่เลิกใช้งานแล้ว
เมธอด mraid.isViewable() เลิกใช้งานแล้วเช่นกัน อย่างไรก็ตาม วิธีการที่เลิกใช้งานเหล่านี้จะยังคงได้รับการสนับสนุนเพื่อรักษาความเข้ากันได้แบบย้อนหลัง
ระบบจะส่งคำจำกัดความของเหตุการณ์ exposureChange ทุกครั้งที่มุมมองโฆษณาเปลี่ยนแปลง SDK มีกลไกการโพลเพื่อหลีกเลี่ยงการสร้างเหตุการณ์มากเกินไป
ระบบจะส่งสถานะเริ่มต้นแบบอะซิงโครนัสหลังจากที่โฆษณาลงทะเบียน Listener
Callback จะมีพารามิเตอร์ exposed_percentage ซึ่งเป็นตัวเลขจุดลอยตัวระหว่าง 0.0 ถึง 100.0
ดูตัวอย่างการใช้งานได้ในข้อกำหนดเฉพาะของ MRAID v3
การตรวจจับและการเริ่มต้น MRAID และแอตทริบิวต์ MRAID_ENV
SDK เป็นไปตามโปรโตคอลการเริ่มต้นตามที่ระบุไว้ในข้อกำหนด MRAID v3
ในออบเจ็กต์ MRAID_ENV SDK จะไม่ส่ง IDFA, limitAdTracking, รหัสแอป หรือ COPPA (ซึ่งไม่บังคับ) โดยจะระบุตัวแปรที่จำเป็นทั้งหมดในออบเจ็กต์ MRAID_ENV ซึ่งรวมถึงเวอร์ชัน MRAID, ชื่อ SDK และเวอร์ชัน SDK
การวัดความสามารถในการได้ยิน
ระบบจะเปิดตัวเหตุการณ์ใหม่ (audioVolumeChange) เพื่อระบุว่าได้ยินเสียงหรือไม่และเมื่อระดับเสียงเปลี่ยนแปลง
เหตุการณ์ audioVolumeChange มีพารามิเตอร์เดียวคือ volume_percentage
ค่านี้คือเปอร์เซ็นต์ของระดับเสียงสูงสุดในการเล่นเสียง โดยเป็นตัวเลขจุดลอยตัวระหว่าง 0.0 ถึง 100.0 (0.0 เมื่อไม่อนุญาตให้เล่น) หรือ null หากระบุระดับเสียงไม่ได้
ดูตัวอย่างการใช้งานได้ในข้อกำหนดเฉพาะของ MRAID v3
mraid.getLocation()
เนื่องจากระบบไม่รองรับ mraid.getLocation() จึงแสดงผลเป็น -1 เสมอ
mraid.unload()
คุณสามารถเรียกใช้เมธอดนี้ได้ทุกเมื่อ และ SDK จะตอบสนองโดยการปิดโฆษณา ยกเลิกการจัดสรรทรัพยากร แล้วนำ WebView ออกหรือแทนที่ด้วยเอกสารอื่นหรือโฆษณาใหม่
เมื่อครีเอทีฟโฆษณาเรียกใช้ unload() เลเยอร์เนทีฟจะตอบสนองต่อประเภทครีเอทีฟโฆษณาต่างๆ ดังนี้
| ประเภท | ลักษณะการทำงานของ unload() |
|---|---|
| แบนเนอร์ | ส่งคำขอโฆษณาใหม่โดยใช้พารามิเตอร์คำขอเดียวกับโฆษณาปัจจุบัน |
| โฆษณาคั่นระหว่างหน้า | ปิดโฆษณาคั่นระหว่างหน้า |
VPAID (Video Player Ad Interface Definition หรือข้อกำหนดอินเทอร์เฟซการแสดงโฆษณาบนโปรแกรมเล่นวิดีโอ)
Google Mobile Ads SDK ไม่รองรับ VPAID mraid.supports('vpaid')
จะแสดงผลเป็น "เท็จ"
mraid.useCustomClose()
ระบบอาจไม่รองรับ mraid.useCustomClose() ทั้งนี้ขึ้นอยู่กับรูปแบบและประเภทครีเอทีฟโฆษณา
รายละเอียดการใช้งาน MRAID v2
mraid.getVersion()
mraid.getVersion() จะไม่แสดงผล 2.0 จนกว่าครีเอทีฟโฆษณาจะโหลดเสร็จ อย่าตรวจสอบเวอร์ชัน MRAID ขณะที่ mraid.getState() แสดงผลเป็น loading
mraid.resize()
เมื่อมีการเรียก mraid.resize() ระบบจะแทนที่แบนเนอร์เดิมด้วยภาพหน้าจอของแบนเนอร์ ซึ่งจะสังเกตเห็นได้หากโฆษณาที่ปรับขนาดไม่ครอบคลุมพื้นที่โฆษณาเดิม
โฆษณาที่ปรับขนาดแล้วจะไม่เป็นไปตามเฟรมแบนเนอร์เดิมด้วย หากวางแบนเนอร์ในมุมมองแบบเลื่อน โฆษณาที่ปรับขนาดจะไม่เลื่อนไปพร้อมกับแบนเนอร์
mraid.setResizeProperties()
การเรียกใช้ mraid.setResizeProperties() ทั้งหมดควรมีรายการพร็อพเพอร์ตี้ที่จำเป็นครบถ้วน หากพร็อพเพอร์ตี้การปรับขนาดไม่ถูกต้อง ระบบจะตั้งค่ากลับเป็นค่าเริ่มต้น และการเรียกใช้ mraid.resize() ทั้งหมดที่ตามมาจะล้มเหลวจนกว่าจะมีการเรียกใช้ mraid.setResizeProperties() อีกครั้งด้วยพารามิเตอร์ที่ถูกต้อง
mraid.getMaxSize()
ควรใช้ mraid.getMaxSize() เพื่อกำหนดขนาดสูงสุดสำหรับโฆษณาที่ปรับขนาดเท่านั้น หากต้องการกำหนดขนาดของโฆษณาที่ขยายได้ ให้ใช้ mraid.getScreenSize()
mraid.setOrientationProperties()
เมื่อเรียกใช้ mraid.setOrientationProperties() โดยตั้งค่าพร็อพเพอร์ตี้ allowOrientationChange เป็น true การตั้งค่าพร็อพเพอร์ตี้ forceOrientation จะไม่มีผลใดๆ
ครีเอทีฟโฆษณาที่ต้องการบังคับการวางแนวควรตั้งค่า allowOrientationChange เป็น false
mraid.isViewable()
หากมุมมองบดบังโฆษณาที่มองเห็นได้ mraid.isViewable() จะยังคงแสดงผลเป็น true เนื้อหาแอปไม่ควรบดบังโฆษณาที่มองเห็นได้
mraid.getCurrentPosition()
ขณะที่โฆษณาที่ขยายได้แบบ 2 ส่วนอยู่ในสถานะขยาย การเรียกใช้ mraid.getCurrentPosition() ในส่วนแรกจะแสดงผลขนาดของหน้าจอ
mraid.storePicture()
หากต้องการให้แอปสนับสนุน mraid.storePicture() แอปจะต้องมีสิทธิ์ android.permission.WRITE_EXTERNAL_STORAGE