ใน ads_manager.js ให้กำหนดคลาส Wrapper สำหรับ StreamManager ของ IMA SDK ที่สร้างคำขอสตรีม รับไฟล์ Manifest ของพ็อดโฆษณา ฟังเหตุการณ์สตรีม IMA และส่งเหตุการณ์ emsg ไปยัง IMA SDK
ใน ads_manager.js แอปตัวอย่าง IMA HbbTV จะตั้งค่าเมธอดต่อไปนี้
requestStream()onStreamEvent()onEmsgEvent()loadAdPodManifest()
เริ่มต้นใช้งาน Ad Manager
เริ่มต้นคลาสตัวจัดการโฆษณาและตั้งค่า Listener สำหรับเหตุการณ์สตรีม IMA ในการเรียกนี้ ให้ตั้งค่าตัวแฮนเดิลเหตุการณ์ emsg ด้วยเมธอด
VideoPlayer.setEmsgEventHandler()
ส่งคำขอสตรีมพ็อดโฆษณา
สร้างAdManager.requestStream()เมธอดเพื่อสร้างPodStreamRequestออบเจ็กต์โดยใช้รหัสเครือข่าย Ad Manager ของ Google และคีย์ชิ้นงานที่กำหนดเองของสตรีม ทดสอบแอป HbbTV โดยใช้สตรีมการแสดงโฆษณาพ็อด DASH ของ IMA ตัวอย่างที่มีพารามิเตอร์สตรีมต่อไปนี้
- รหัสเครือข่าย:
'21775744923' - คีย์เนื้อหาที่กำหนดเอง:
'hbbtv-dash'
รอเหตุการณ์สตรีมโฆษณา
สร้างเมธอด AdManager.onStreamEvent() เพื่อจัดการการตอบสนองของแอปต่อ
เหตุการณ์สตรีม IMA, STREAM_INITIALIZED, AD_BREAK_STARTED และ
AD_BREAK_ENDED
จัดการข้อมูลเมตาของสตรีมโฆษณา
หากต้องการส่งข้อมูลเหตุการณ์ emsg ไปยัง IMA ให้สร้างเมธอด AdManager.onEmsgEvent()
โดยใช้เมธอด StreamManager.processMetadata() คลาสวิดีโอเพลเยอร์เรียกใช้เมธอดนี้ด้วยเมธอด VideoPlayer.setEmsgEventHandler()
โหลดไฟล์ Manifest ของพ็อดโฆษณา
สร้างAdManager.loadAdPodManifest()เมธอดเพื่อโหลดไฟล์ Manifest ของพ็อดโฆษณาล่วงหน้า
ด้วยวิดีโอเพลเยอร์ สร้าง URL ของไฟล์ Manifest ที่ได้รับการตรวจสอบสิทธิ์โดยใช้
โครงสร้างในวิธี: ไฟล์ Manifest ของพ็อด DASH
แอปตัวอย่าง HbbTV
ใช้ค่า adBreakId ที่ไม่ซ้ำกันซึ่งสร้างขึ้นแบบสุ่ม ในแอปที่ใช้งานจริง adBreakId ค่าจะเป็นสตริงที่เป็นตัวอักษรและตัวเลขคละกัน เช่น ab-001 ซึ่งจะเพิ่มขึ้นทีละ 1 สำหรับช่วงพักโฆษณาแต่ละช่วง ตรวจสอบว่าค่า adBreakId มีค่าเดียวกัน
สำหรับผู้ชมช่วงพักโฆษณาทุกคน หากต้องการรับค่า adBreakId เราขอแนะนำให้ใช้ DAI Ad Break API
ในสภาพแวดล้อมการผลิต ให้รวมadBreakId value และ podDuration
value ในเหตุการณ์สตรีม HbbTV AD_BREAK_ANNOUNCE
จากนั้นสร้างคลาสแอปพลิเคชันหลักสำหรับแอป HbbTV ที่โต้ตอบกับ การออกอากาศ HbbTV