IMA DAI SDK รองรับการผสานรวมเข้ากับแอปโปรแกรมเล่นวิดีโอ HbbTV ที่น้อยที่สุด IMA DAI SDK ช่วยให้ความต้องการ Google Ad Manager สำหรับสตรีมโฆษณาบรอดแบนด์ ประกอบกับสตรีมเนื้อหาบรอดแบนด์ คู่มือนี้ครอบคลุมการโหลดไฟล์ Manifest ของโฆษณาตามข้อมูลเหตุการณ์โฆษณาจากสตรีมการออกอากาศ
หากต้องการดูหรือทําตามตัวอย่างการผสานรวมที่เสร็จสมบูรณ์ ให้ดาวน์โหลดแอปตัวอย่างสตรีมแบบสดของ HbbTV ที่มี IMA HTML5 DAI SDK คู่มือนี้และแอปตัวอย่าง GitHub จะอยู่ใน JavaScript สำหรับ ES5 และเพื่อรองรับอุปกรณ์ทีวีรุ่นเก่า
ดูข้อมูลเกี่ยวกับการผสานรวมกับแพลตฟอร์มอื่นๆ ที่ไม่ใช่ HbbTV ได้ที่ SDK โฆษณาสื่ออินเทอร์แอกทีฟ
ข้อกำหนดเบื้องต้น
ก่อนดำเนินการตามคู่มือนี้ โปรดตรวจสอบว่าคุณมีสิ่งต่อไปนี้
- หากต้องการใช้ IMA DAI คุณต้องมีบัญชี Ad Manager 360 Advanced หากมีบัญชี Ad Manager โปรดติดต่อผู้จัดการฝ่ายดูแลลูกค้าเพื่อขอรายละเอียดเพิ่มเติม ดูข้อมูลเกี่ยวกับการลงชื่อสมัครใช้ Ad Manager ได้ที่ศูนย์ช่วยเหลือของ Ad Manager
- แอป HbbTV ที่โต้ตอบกับออบเจ็กต์การออกอากาศสำหรับการเล่นสื่อ ดูรายละเอียดเพิ่มเติมได้ที่ออบเจ็กต์ AV ของ HbbTV Broadcast
- เวอร์ชัน dash.js ที่รองรับการโหลดล่วงหน้า เราขอแนะนำให้ใช้เวอร์ชัน 4.6.0 ขึ้นไป
- เว็บเซิร์ฟเวอร์สำหรับโฮสต์แอปพลิเคชัน
- สภาพแวดล้อมการทดสอบที่มีสตรีมการออกอากาศ DVB ดูวิธีการโดยละเอียดเกี่ยวกับการตั้งค่าสภาพแวดล้อมการทดสอบได้ที่การเรียกใช้แอปพลิเคชัน HbbTV
- สตรีมการออกอากาศ: เตรียมสตรีมการออกอากาศที่มีข้อมูลตารางข้อมูลแอปพลิเคชัน (AIT) ที่กําหนดเอง นอกจากนี้ คุณต้องมีวิธีส่งสตรีมการออกอากาศเพื่อให้ทีวีรับสัญญาณได้ คุณสามารถใช้ตัวแปลงสัญญาณ DVB เพื่อส่งสตรีมการออกอากาศหรือใช้วิธีอื่นๆ
- เว็บเซิร์ฟเวอร์: โฮสต์แอปพลิเคชัน HbbTV บนเว็บเซิร์ฟเวอร์ที่ทีวีเข้าถึงได้
- กิจกรรมสตรีมแบบสดที่มีประเภทเป็นไฟล์ Manifest ที่แสดงพ็อด หากต้องการสร้างกิจกรรม ให้ดูหัวข้อตั้งค่าสตรีมแบบสดสำหรับ DAI
สร้างสตรีมการออกอากาศที่เข้ากันได้
แอป HbbTV ใช้ broadcastContainer.addStreamEventListener()
เพื่อฟังเหตุการณ์สตรีม HbbTV ในสตรีมการออกอากาศ หากต้องการโหลดและเล่นโฆษณาอย่างถูกต้อง คุณจะต้องตั้งค่าสตรีมการออกอากาศด้วยประเภทเหตุการณ์ต่อไปนี้เพื่อรวมเพย์โหลดสตริง JSON ที่เชื่อมโยง
AD_BREAK_EVENT_ANNOUNCE
-{"type":"adBreakAnnounce", "pod_id":1,"duration":90, "offset":10}
AD_BREAK_EVENT_START
-{"type":"adBreakStart"}
AD_BREAK_EVENT_END
-{"type":"adBreakEnd"}
สําหรับเหตุการณ์เหล่านี้ ให้ใส่เพย์โหลดสตริง JSON ที่มี streamEvent.type
เหตุการณ์ AD_BREAK_EVENT_ANNOUNCE
ต้องรวม streamEvent.duration
และ streamEvent.offset
เพื่อรองรับการโหลดโฆษณาล่วงหน้า ดูข้อมูลเพิ่มเติมได้ที่ฟังเหตุการณ์สตรีม HbbTV
หากต้องการตั้งค่าสตรีมการออกอากาศ โปรดดูตัวอย่างสตรีมการขนส่ง MPEG แบบมัลติเพล็กซ์
หากต้องการใช้สตรีมตัวอย่าง คุณต้องอัปเดต URL ของตารางข้อมูลแอปพลิเคชันสำหรับการตั้งค่าสตรีมของคุณเอง
สร้างพ็อดที่แสดงเหตุการณ์สตรีมแบบสด
หากต้องการแสดงโฆษณาในแอป HbbTV คุณต้องมีเหตุการณ์สตรีมแบบสดที่แสดงพ็อด ดูข้อมูลเกี่ยวกับการตั้งค่าเหตุการณ์ได้ที่หัวข้อตั้งค่าสตรีมมิงแบบสดสำหรับ DAI แอปต้องมีตัวแปรต่อไปนี้จึงจะเข้าถึงสตรีมที่คุณตั้งค่าไว้ได้
NETWORK_CODE
: รหัสเครือข่าย Ad Manager สําหรับขอโฆษณาCUSTOM_ASSET_KEY
: คีย์เนื้อหาที่กำหนดเองของ Ad Manager ที่สร้างขึ้นในระหว่างขั้นตอนการตั้งค่าสตรีมแบบสดสำหรับ DAI
สร้างโครงสร้างไฟล์แอปพลิเคชัน
คู่มือนี้ใช้โครงสร้างไฟล์ที่คล้ายกับแอปตัวอย่าง HbbTV ของ IMA หากต้องการทําตามคู่มือนี้ โปรดสร้างไฟล์ต่อไปนี้
index.html
: ดัชนี HTML สําหรับแอปStyle.css
: การจัดรูปแบบ CSS สําหรับแอปapplication.js
: จุดแรกเข้า JS หลัก จัดการสถานะการเล่นและช่วงพักโฆษณาvideo_player.js
: จัดการโปรแกรมเล่น dash.js ที่ใช้เล่นโฆษณาads_manager.js
: จัดการการตั้งค่า IMA, คำขอสตรีม และการจัดการเหตุการณ์
ads_manager.js
ตั้งค่า IMA DAI SDK คอมโพเนนต์ต่อไปนี้ใช้ IMA DAI SDK
PodStreamRequest
: ออบเจ็กต์ที่กําหนดคําขอสตรีมไปยังเซิร์ฟเวอร์โฆษณาของ GoogleStreamManager
: ออบเจ็กต์ที่จัดการสตรีมการแทรกโฆษณาแบบไดนามิกและการโต้ตอบกับแบ็กเอนด์ DAI นอกจากนี้ เครื่องมือจัดการสตรีมยังจัดการการติดตามคําสั่ง ping และส่งต่อเหตุการณ์สตรีมและโฆษณาไปยังผู้เผยแพร่โฆษณาด้วย
ดูวิธีการโดยละเอียดในการตั้งค่าสภาพแวดล้อมการทดสอบได้ที่คู่มือการเรียกใช้แอปพลิเคชัน HbbTV
โหลด IMA DAI SDK และ DASH.js
หากต้องการเริ่มเล่นสตรีมโฆษณาแบบออกอากาศ ให้โหลด IMA DAI SDK และ dash.js ลงในแอป เพิ่ม dash.js และเฟรมเวิร์ก IMA โดยใช้แท็กสคริปต์ใน index.html
ก่อนแท็ก application.js
<script src="https://cdn.jsdelivr.net/npm/dashjs@latest/dist/dash.all.min.js"></script> <script src="//imasdk.googleapis.com/js/sdkloader/ima3_dai.js"></script>
ถัดไป ให้สร้างคลาส Wrapper ของวิดีโอเพลเยอร์เพื่อเริ่มต้นและควบคุม Dash.js player