ใน 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