ใน 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
ออบเจ็กต์โดยใช้รหัสเครือข่าย Google Ad Manager และคีย์ชิ้นงานที่กำหนดเองของสตรีม
ทดสอบแอป 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
ใช้ podId ที่ไม่ซ้ำกันซึ่งสร้างขึ้นแบบสุ่ม ในแอปเวอร์ชันที่ใช้งานจริง podId คือ
จำนวนเต็มที่เริ่มต้นที่ 1 และเพิ่มขึ้นทีละ 1 สำหรับช่วงพักโฆษณาแต่ละช่วง ตรวจสอบว่า
podIdมีค่าเดียวกันสำหรับผู้ชมทุกคนที่ดูช่วงพักโฆษณา หากต้องการรับ podId เราขอแนะนำให้ใช้
API Early Ad Break Notification
(EABN) ในสภาพแวดล้อมการผลิต ให้ใส่ podId และ podDuration
ในเหตุการณ์สตรีม HbbTV AD_BREAK_ANNOUNCE
จากนั้นสร้างคลาสแอปพลิเคชันหลักสำหรับแอป HbbTV ที่โต้ตอบกับ การออกอากาศ HbbTV