จัดการข้อมูลเมตาที่มีการระบุเวลาในสตรีม DAI ที่ไม่ปรากฏร่วมกับวิดีโอ

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