SDK การแทรกโฆษณาแบบไดนามิก (DAI) สำหรับโฆษณาสื่ออินเทอร์แอกทีฟ (IMA) จะใช้ข้อมูลเมตาที่ฝังในกลุ่มสื่อของสตรีม (ข้อมูลเมตาในกลุ่ม) หรือในไฟล์ Manifest ของสตรีมมิง (ข้อมูลเมตาในไฟล์ Manifest) เพื่อติดตามตำแหน่งของผู้ชมและเหตุการณ์โฆษณาฝั่งไคลเอ็นต์ ข้อมูลเมตาพร้อมใช้งานจากสตรีม DAI ในรูปแบบต่างๆ โดยขึ้นอยู่กับประเภทของสตรีมที่เล่น IMA SDK ของ Roku จัดการรูปแบบข้อมูลเมตาทั้งหมดผ่าน API เดียว
แอปของคุณมีหน้าที่บันทึกข้อมูลเมตาและส่งต่อไปยัง IMA DAI SDK SDK เสนอวิธีการแบบ StreamManager.onMessage()
ในการส่งข้อมูลนี้ เมธอดนี้จะส่งต่อข้อมูลเมตาในรูปแบบของออบเจ็กต์ msg
ที่พอร์ต roVideo มีให้ จากนั้น IMA DAI SDK จะประมวลผลออบเจ็กต์เหล่านี้เพื่อกำหนดช่วงเวลาสำหรับเหตุการณ์โฆษณา จะต้องมีข้อโต้แย้งเพียงข้อเดียว
msg
: ออบเจ็กต์ประเภทข้อความที่ได้จากพอร์ต roVideo
โค้ดตัวอย่างข้อมูลเมตา
ตัวอย่างวิธีจัดการข้อมูลเมตาจากพอร์ต roVideo และส่งไปยัง IMA SDK ผ่าน StreamManager.onMessage()
Sub runLoop()
' Forward all timed metadata events to IMA.
m.top.video.timedMetaDataSelectionKeys = ["*"]
' Cycle through all the fields and set listeners.
' IMPORTANT: Failure to listen to the position and timedmetadata fields could
' result in ad impressions not being reported.
m.port = CreateObject("roMessagePort")
fields = m.top.video.getFields()
for each field in fields
m.top.video.observeField(field, m.port)
end for
while True
msg = wait(1000, m.port)
if m.top.video = invalid
print "exiting"
exit while
end if
m.streamManager.onMessage(msg)
currentTime = m.top.video.position
If currentTime > 3 And not m.top.adPlaying
m.top.video.enableTrickPlay = true
End If
end while
End Sub
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีรวมข้อมูลเมตาของสตรีมที่จัดการลูปลงในแอป โปรดดูคู่มือเริ่มต้นใช้งาน IMA Roku ส่วน Listener เหตุการณ์และการเริ่มสตรีมของคำแนะนำมีลูปการจัดการข้อมูลเมตา
สตรีม HLS CMAF
สตรีม DAI HLS เชิงเส้นที่ใช้ Common Media Application Framework (CMAF) จะส่งข้อมูลเมตาที่กำหนดเวลาผ่านช่อง eMSGv1 ในย่านความถี่ตามมาตรฐาน ID3 ถึง CMAF กล่อง eMSG เหล่านี้จะฝังอยู่ที่จุดเริ่มต้นของกลุ่มสื่อแต่ละกลุ่ม โดยแต่ละ ID3 eMSG จะมี PTS ที่สัมพันธ์กับความไม่ต่อเนื่องครั้งล่าสุดของสตรีม
สำหรับ IMA Roku สตรีม HLS CMAF ทั้งหมดจะส่งข้อมูล ID3 ในย่านความถี่โดยใช้รูปแบบ eMSGv0 IMA รวมข้อมูลที่ได้จากรูปแบบ eMSGv0 เข้ากับข้อมูลจากออบเจ็กต์วิดีโอ
หากต้องการเปิดใช้การแยกวิเคราะห์เหตุการณ์สตรีม HLS CMAF ID3 อย่างถูกต้อง คุณต้องส่งออบเจ็กต์วิดีโอในคำขอสตรีมโดยใช้ StreamRequest.videoObject