IMA SDK ช่วยให้คุณผสานรวมโฆษณามัลติมีเดียเข้ากับเว็บไซต์และแอปได้อย่างง่ายดาย IMA SDK สามารถ ขอโฆษณาจาก เซิร์ฟเวอร์โฆษณาที่สอดคล้องกับ VAST และจัดการการเล่นโฆษณาในแอปได้ SDK ฝั่งไคลเอ็นต์ IMA ช่วยให้คุณควบคุมการเล่นวิดีโอเนื้อหาได้ ขณะที่ SDK จะจัดการการเล่นโฆษณา โฆษณาจะเล่นในวิดีโอเพลเยอร์แยกต่างหาก ซึ่งวางอยู่ด้านบนของวิดีโอเพลเยอร์เนื้อหาของแอป
คู่มือนี้แสดงวิธีผสานรวม IMA SDK เข้ากับแอปวิดีโอเพลเยอร์อย่างง่าย หากต้องการดูหรือทำตามการผสานรวมตัวอย่างที่เสร็จสมบูรณ์แล้ว ให้ดาวน์โหลดตัวอย่างอย่างง่ายจาก GitHub หากสนใจโปรแกรมเล่น HTML5 ที่ผสานรวม SDK ไว้ล่วงหน้า โปรดดู ปลั๊กอิน IMA SDK สำหรับ Video.js
ภาพรวมของฝั่งไคลเอ็นต์ IMA
การติดตั้งใช้งานฝั่งไคลเอ็นต์ IMA เกี่ยวข้องกับคอมโพเนนต์ SDK หลัก 4 รายการ ซึ่งแสดงไว้ในคู่มือนี้
AdDisplayContainer: ออบเจ็กต์คอนเทนเนอร์ที่ระบุตำแหน่งที่ IMA แสดงผลองค์ประกอบ UI ของโฆษณาและวัดการมองเห็นโฆษณา ซึ่งรวมถึงมุมมองแอ็กทีฟและ การวัดผลแบบเปิดAdsLoader: ออบเจ็กต์ที่ขอโฆษณาและจัดการเหตุการณ์จากการตอบกลับคำขอโฆษณา คุณควรสร้างอินสแตนซ์ของตัวโหลดโฆษณาเพียงรายการเดียว ซึ่งสามารถนำกลับมาใช้ใหม่ได้ตลอดอายุการใช้งานของแอปพลิเคชันAdsRequest: ออบเจ็กต์ที่กำหนดคำขอโฆษณา คำขอโฆษณาระบุ URL สำหรับแท็กโฆษณา VAST รวมถึงพารามิเตอร์เพิ่มเติม เช่น ขนาดโฆษณาAdsManager: ออบเจ็กต์ที่มีการตอบกลับคำขอโฆษณา ควบคุมการเล่นโฆษณา และรอเหตุการณ์โฆษณาที่ SDK เรียกใช้
ข้อกำหนดเบื้องต้น
ก่อนเริ่มต้น คุณจะต้องมีสิ่งต่อไปนี้
- ไฟล์ว่าง 3 ไฟล์ ได้แก่
- index.html
- style.css
- ads.js
- Python ที่ติดตั้งในคอมพิวเตอร์หรือเว็บเซิร์ฟเวอร์ที่จะใช้สำหรับการทดสอบ
1. เริ่มเซิร์ฟเวอร์การพัฒนา
เนื่องจาก IMA SDK โหลดการขึ้นต่อกันโดยใช้โปรโตคอลเดียวกับหน้าเว็บที่โหลด SDK คุณจึงต้องใช้เว็บเซิร์ฟเวอร์เพื่อทดสอบแอป วิธีที่ง่ายที่สุดในการเริ่มเซิร์ฟเวอร์การพัฒนาในเครื่อง คือการใช้เซิร์ฟเวอร์ในตัวของ Python
- เรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีที่มีไฟล์ index.html โดยใช้บรรทัดคำสั่ง
python -m http.server 8000
- ในเว็บเบราว์เซอร์ ให้ไปที่
http://localhost:8000/
นอกจากนี้ คุณยังใช้เว็บเซิร์ฟเวอร์อื่นๆ ได้ด้วย เช่น Apache HTTP Server
2. สร้างวิดีโอเพลเยอร์อย่างง่าย
ขั้นแรก ให้แก้ไข index.html เพื่อสร้างองค์ประกอบวิดีโอ HTML5 อย่างง่ายซึ่งอยู่ในองค์ประกอบ Wrapper
และปุ่มเพื่อทริกเกอร์การเล่น ตัวอย่างต่อไปนี้จะนำเข้า IMA SDK และตั้งค่า
องค์ประกอบคอนเทนเนอร์ AdDisplayContainer
ดูรายละเอียดเพิ่มเติมได้ในขั้นตอนการนำเข้า IMA SDK และสร้างคอนเทนเนอร์โฆษณาตามลำดับ
เพิ่มแท็กที่จำเป็นเพื่อโหลดไฟล์ style.css และ ads.js จากนั้นแก้ไข styles.css เพื่อให้วิดีโอเพลเยอร์ตอบสนองต่ออุปกรณ์เคลื่อนที่ สุดท้าย ใน ads.js ให้ประกาศตัวแปรและทริกเกอร์การเล่นวิดีโอเมื่อคุณคลิกปุ่มเล่น
โปรดทราบว่าข้อมูลโค้ด ads.js มีการเรียกใช้ setUpIMA() ซึ่งกำหนดไว้ในส่วน
เริ่มต้นใช้งาน AdsLoader และส่งคำขอโฆษณา
3. นำเข้า IMA SDK
จากนั้นเพิ่มเฟรมเวิร์ก IMA โดยใช้แท็กสคริปต์ใน index.html ก่อนแท็กสำหรับ
ads.js
4. สร้างคอนเทนเนอร์โฆษณา
ในเบราว์เซอร์ส่วนใหญ่ IMA SDK จะใช้องค์ประกอบคอนเทนเนอร์โฆษณาเฉพาะสำหรับการแสดงโฆษณาและ
องค์ประกอบ UI ที่เกี่ยวข้องกับโฆษณา คอนเทนเนอร์นี้ต้องมีขนาดที่ซ้อนทับองค์ประกอบวิดีโอจากมุมซ้ายบน
ออบเจ็กต์
adsManager จะกำหนดความสูงและความกว้างของโฆษณาที่วางในคอนเทนเนอร์นี้ ดังนั้นคุณจึงไม่จำเป็นต้องตั้งค่าเหล่านี้ด้วยตนเอง
หากต้องการติดตั้งใช้งานองค์ประกอบคอนเทนเนอร์โฆษณานี้ ให้สร้าง div ใหม่ภายใน
video-container องค์ประกอบ จากนั้นอัปเดต CSS เพื่อวางองค์ประกอบที่มุมซ้ายบนของ
video-element สุดท้าย ให้เพิ่มฟังก์ชัน createAdDisplayContainer()
เพื่อสร้าง
ออบเจ็กต์ AdDisplayContainer โดยใช้
คอนเทนเนอร์โฆษณาใหม่ div
5. เริ่มต้นใช้งาน AdsLoader และส่งคำขอโฆษณา
หากต้องการขอโฆษณา ให้สร้างอินสแตนซ์
AdsLoader
คอนสตรักเตอร์ AdsLoader รับออบเจ็กต์
AdDisplayContainer
เป็นอินพุต และใช้เพื่อประมวลผล
AdsRequest
ที่เชื่อมโยงกับ URL แท็กโฆษณาที่ระบุได้ แท็กโฆษณาที่ใช้ในตัวอย่างนี้มี
โฆษณาตอนต้น 10 วินาที คุณสามารถทดสอบ URL แท็กโฆษณานี้หรือ URL แท็กโฆษณาอื่นๆ ได้โดยใช้
เครื่องมือตรวจสอบ IMA Video Suite
แนวทางปฏิบัติแนะนำคือให้เก็บอินสแตนซ์ AdsLoader ไว้เพียงอินสแตนซ์เดียวตลอด
วงจรชีวิตของหน้าเว็บ หากต้องการส่งคำขอโฆษณาเพิ่มเติม ให้สร้างออบเจ็กต์ AdsRequest
ใหม่ แต่ใช้ AdsLoader เดิม ดูข้อมูลเพิ่มเติมได้ที่
คำถามที่พบบ่อยเกี่ยวกับ IMA SDK
รอและตอบสนองต่อเหตุการณ์โฆษณาที่โหลดและข้อผิดพลาดโดยใช้ AdsLoader.addEventListener
รอเหตุการณ์ต่อไปนี้
ADS_MANAGER_LOADEDAD_ERROR
หากต้องการสร้าง Listener onAdsManagerLoaded() และ onAdError() โปรดดูตัวอย่างต่อไปนี้
6. ตอบสนองต่อเหตุการณ์ AdsLoader
เมื่อ AdsLoader โหลดโฆษณาได้สำเร็จ ระบบจะปล่อยเหตุการณ์
ADS_MANAGER_LOADED แยกวิเคราะห์เหตุการณ์ที่ส่งไปยังฟังก์ชันเรียกกลับเพื่อเริ่มต้นใช้งาน
AdsManager ออบเจ็กต์ AdsManager จะโหลดโฆษณาแต่ละรายการตามที่กำหนดโดย
การตอบกลับ URL แท็กโฆษณา
ตรวจสอบว่าคุณได้จัดการข้อผิดพลาดที่เกิดขึ้นระหว่างกระบวนการโหลด หากโฆษณาไม่ โหลด ให้ตรวจสอบว่าการเล่นสื่อยังคงดำเนินต่อไปโดยไม่มีโฆษณา เพื่อไม่ให้รบกวนการดูเนื้อหาของผู้ใช้
ดูรายละเอียดเพิ่มเติมเกี่ยวกับ Listener ที่ตั้งค่าไว้ในฟังก์ชัน onAdsManagerLoaded() ได้ในส่วนย่อยต่อไปนี้
จัดการข้อผิดพลาด AdsManager
ตัวแฮนเดิลข้อผิดพลาดที่สร้างขึ้นสำหรับ AdsLoader สามารถใช้เป็นตัวแฮนเดิลข้อผิดพลาดสำหรับ
AdsManager ได้ด้วย ดูตัวแฮนเดิลเหตุการณ์ที่นำฟังก์ชัน onAdError() กลับมาใช้ใหม่
จัดการเหตุการณ์เล่นและหยุดชั่วคราว
เมื่อ AdsManager พร้อมที่จะแทรกโฆษณาเพื่อแสดง ระบบจะเรียกใช้เหตุการณ์
CONTENT_PAUSE_REQUESTED จัดการเหตุการณ์นี้โดยทริกเกอร์การหยุดชั่วคราวใน
วิดีโอเพลเยอร์พื้นฐาน ในทำนองเดียวกัน เมื่อโฆษณาเล่นจบ AdsManager จะเรียกใช้เหตุการณ์
CONTENT_RESUME_REQUESTED จัดการเหตุการณ์นี้โดยเริ่มการเล่นวิดีโอเนื้อหาพื้นฐานอีกครั้งบน
ดูคำจำกัดความของฟังก์ชัน onContentPauseRequested() และ
onContentResumeRequested() ได้ในตัวอย่างต่อไปนี้
จัดการการเล่นเนื้อหาระหว่างโฆษณาที่ปรากฏร่วมกับเนื้อหา
The AdsManager จะหยุดวิดีโอเนื้อหาชั่วคราวเมื่อโฆษณาพร้อมที่จะเล่น แต่ลักษณะการทำงานนี้ไม่ได้คำนึงถึงโฆษณาที่ปรากฏร่วมกับเนื้อหา ซึ่งเนื้อหาจะเล่นต่อไปขณะที่โฆษณาแสดงอยู่
หากต้องการรองรับโฆษณาที่ปรากฏร่วมกับเนื้อหา ให้รอ AdsManager ปล่อยเหตุการณ์
LOADED ตรวจสอบว่าโฆษณาเป็นโฆษณาเชิงเส้นหรือไม่ หากไม่ใช่ ให้เล่นองค์ประกอบวิดีโอต่อ
ดูคำจำกัดความของฟังก์ชัน onAdLoaded() ได้ในตัวอย่างต่อไปนี้
7. ทริกเกอร์การคลิกเพื่อหยุดชั่วคราวในอุปกรณ์เคลื่อนที่
เนื่องจาก AdContainer ซ้อนทับองค์ประกอบวิดีโอ ผู้ใช้จึงโต้ตอบกับ
เพลเยอร์พื้นฐานโดยตรงไม่ได้ ซึ่งอาจทำให้ผู้ใช้ในอุปกรณ์เคลื่อนที่สับสน เนื่องจากคาดหวังว่าจะสามารถแตะ วิดีโอเพลเยอร์เพื่อหยุดการเล่นชั่วคราวได้ หากต้องการแก้ไขปัญหานี้ IMA SDK จะส่งการคลิกที่ IMA ไม่ได้ จัดการจากหน้าต่างซ้อนทับโฆษณาไปยังองค์ประกอบ AdContainer ซึ่งสามารถจัดการได้ การดำเนินการนี้ไม่มีผลกับโฆษณาเชิงเส้นในเบราว์เซอร์ที่ไม่ใช่เบราว์เซอร์บนอุปกรณ์เคลื่อนที่ เนื่องจากเมื่อคลิกโฆษณา ระบบจะเปิด ลิงก์ที่คลิกผ่าน
หากต้องการติดตั้งใช้งานการคลิกเพื่อหยุดชั่วคราว ให้เพิ่มฟังก์ชันตัวแฮนเดิลการคลิก adContainerClick() ที่เรียกใช้
ใน Listener การโหลดหน้าต่าง
8. เริ่ม AdsManager
หากต้องการเริ่มการเล่นโฆษณา ให้เริ่มต้นใช้งานและเริ่ม AdsManager หากต้องการรองรับเบราว์เซอร์บนอุปกรณ์เคลื่อนที่อย่างเต็มรูปแบบ
ซึ่งคุณไม่สามารถเล่นโฆษณาโดยอัตโนมัติได้ ให้ทริกเกอร์การเล่นโฆษณาจากการโต้ตอบของผู้ใช้
กับหน้าเว็บ เช่น การคลิกปุ่มเล่น
9. รองรับการปรับขนาดเพลเยอร์
หากต้องการให้โฆษณาปรับขนาดแบบไดนามิกและให้ตรงกับขนาดของวิดีโอเพลเยอร์ หรือให้ตรงกับการเปลี่ยนแปลงการวางแนวหน้าจอ
ให้เรียกใช้ adsManager.resize() เพื่อตอบสนองต่อเหตุการณ์การปรับขนาดหน้าต่าง
เท่านี้ก็เรียบร้อย ตอนนี้คุณขอและแสดงโฆษณาด้วย IMA SDK ได้แล้ว หากต้องการดูข้อมูลเกี่ยวกับฟีเจอร์ SDK ขั้นสูงเพิ่มเติม โปรดดูคู่มืออื่นๆ หรือตัวอย่างใน GitHub