SDK การแทรกโฆษณาแบบไดนามิก (DAI) ในโฆษณาสื่ออินเทอร์แอกทีฟ (IMA) ใช้ ข้อมูลเมตาที่ฝังในกลุ่มสื่อของสตรีม (ข้อมูลเมตาในวง) หรือในไฟล์ Manifest ของการสตรีม (ข้อมูลเมตาในไฟล์ Manifest) เพื่อติดตาม และเหตุการณ์โฆษณาฝั่งไคลเอ็นต์ ข้อมูลเมตาพร้อมใช้งานจากสตรีม DAI ในรูปแบบต่างๆ โดยขึ้นอยู่กับประเภทสตรีมที่เล่น IMA DAI SDK จัดการรูปแบบข้อมูลเมตาทั้งหมดผ่าน API เดียว
แอปของคุณมีหน้าที่บันทึกข้อมูลเมตาและส่งต่อไปยัง IMA DAI SDK SDK เสนอ
StreamManager.onMessage()
เพื่อส่งข้อมูลนี้ วิธีนี้จะส่งต่อข้อมูลเมตาในรูปแบบ
ออบเจ็กต์ msg
มาจากพอร์ต roVideo จากนั้นออบเจ็กต์เหล่านี้จะถูกประมวลผลโดย
IMA DAI SDK เพื่อกำหนดช่วงเวลาสำหรับเหตุการณ์โฆษณา โดยใช้เวลาเพียง
อาร์กิวเมนต์:
msg
: ออบเจ็กต์ประเภทข้อความที่ได้จากพอร์ต roVideo
โค้ดตัวอย่างข้อมูลเมตา
ตัวอย่างวิธีจัดการข้อมูลเมตาจากพอร์ต roVideo และ
ส่งไปยัง IMA DAI 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 เหล่านี้ ฝังไว้ที่ตอนต้นของสื่อแต่ละกลุ่ม โดย eMSG รหัส 3 แต่ละกลุ่มมี PTS ที่สัมพันธ์กับความไม่ต่อเนื่องครั้งล่าสุดในสตรีม
สำหรับ IMA Roku สตรีม HLS CMAF ทั้งหมดจะส่งข้อมูล ID3 แบบแบนด์ในโดยใช้รูปแบบ eMSGv0 IMA รวมข้อมูลจากรูปแบบ eMSGv0 เข้ากับข้อมูล จากออบเจ็กต์วิดีโอ
หากต้องการเปิดใช้การแยกวิเคราะห์เหตุการณ์ ID3 ของสตรีม HLS CMAF อย่างถูกต้อง คุณต้องส่งออบเจ็กต์วิดีโอในคำขอสตรีมโดยใช้ StreamRequest.videoObject