ใน ads_manager.js ให้กำหนดคลาส Wrapper สำหรับ IMA SDK StreamManager ที่สร้างคำขอสตรีม รับไฟล์ Manifest ของพ็อดโฆษณา รอเหตุการณ์สตรีม IMA และส่งเหตุการณ์ emsg ไปยัง IMA SDK
ใน ads_manager.js แอปตัวอย่าง IMA HbbTV จะตั้งค่าเมธอดต่อไปนี้
requestStream()onStreamEvent()onEmsgEvent()loadAdPodManifest()
เริ่มต้นใช้งานตัวจัดการโฆษณา
เริ่มต้นใช้งานคลาสตัวจัดการโฆษณาและตั้งค่า 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 เป็นค่าเดียวกันสำหรับผู้ชมช่วงพักโฆษณาทุกคน เรา
ขอแนะนำให้ใช้
DAI Ad Break API เพื่อรับค่า adBreakId
ในสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์ ให้ใส่ค่า adBreakId และค่า podDuration ในเหตุการณ์สตรีม HbbTV AD_BREAK_ANNOUNCE
จากนั้นสร้างคลาสแอปพลิเคชันหลักสำหรับแอป HbbTV ที่โต้ตอบกับการออกอากาศ HbbTV