เขียนแอปผู้ส่งสําหรับ CAF DAI SDK

ไม่เหมือนกับการผสานรวมก่อนหน้าระหว่าง Chromecast กับ DAI ซึ่ง CAF DAI SDK มุ่งเน้นอย่างมากในการรักษามาตรฐานและความคาดหวังที่กำหนดโดย Cast Application Framework ดังนั้นจึงไม่มีข้อกำหนดในการปรับแต่งแอปผู้ส่งอย่างมากเพื่อจัดการการสื่อสารแบบ 2 ทางระหว่าง IMA กับแอปผู้ส่ง ตอนนี้การสื่อสารเหล่านี้ได้รับการจัดการผ่านฟังก์ชันช่วงพักโฆษณา CAF ที่ผสานรวมแล้ว แทนที่จะต้องใช้ระบบข้อความที่กำหนดเองเพื่อสื่อสารระหว่างแอปผู้ส่งกับตัวรับ

คุณอาจยังต้องเพิ่มโค้ดบางส่วนลงในผู้ส่งเพื่อเปิดใช้การรองรับช่วงพักโฆษณา CAF อย่างเต็มรูปแบบ เช่น เพิ่มการรองรับโฆษณาที่ข้ามได้ลงในผู้ส่งบนเว็บ ทั้งนี้ขึ้นอยู่กับผู้ส่ง

ตอนนี้สิ่งที่คุณต้องทำนอกเหนือจากการรองรับช่วงพักโฆษณา CAF คือการรวมข้อมูลสตรีม DAI ไว้ในออบเจ็กต์ CAF MediaInfo ที่ส่งจากผู้ส่งไปยังผู้รับ คุณเลือกส่งข้อมูลนี้ได้หลายวิธี เช่น คุณอาจฮาร์ดโค้ด contentSourceID ในตัวรับและส่งเฉพาะ videoID พร้อมออบเจ็กต์ MediaInfo หรือคุณอาจส่งตัวระบุที่กำหนดเองไปยังตัวรับ จากนั้นจึงค้นหาพารามิเตอร์ DAI จริงจากฐานข้อมูลออนไลน์

อย่างไรก็ตาม เพื่อให้ง่ายต่อการใช้งาน ตัวอย่างทั้งหมดของเราจะถือว่าคุณทำตามโครงสร้างและแบบแผนการตั้งชื่อที่เรียบง่ายนี้สำหรับออบเจ็กต์ MediaInfo

contentId ตัวระบุที่ไม่ซ้ำกันสำหรับรายการสื่อนี้
contentUrl URL ของสตรีมสำรองที่จะโหลดหาก DAI StreamRequest ไม่สำเร็จไม่ว่าด้วยเหตุผลใดก็ตาม
streamType สำหรับไลฟ์สด ค่านี้ควรกำหนดเป็น "LIVE" สำหรับสตรีม VOD ค่านี้ควรตั้งเป็น "BUFFERED"
customData assetKey ไลฟ์สดเท่านั้น ระบุไลฟ์สดที่จะโหลด
contentSourceId สตรีม VOD เท่านั้น ระบุฟีดสื่อที่มีสตรีมที่ขอ
videoId สตรีม VOD เท่านั้น ระบุสตรีมที่ขอภายในฟีดสื่อที่ระบุ
ApiKey คีย์ API ที่ไม่บังคับซึ่งอาจต้องใช้เพื่อดึง URL ของสตรีมจาก IMA DAI SDK
senderCanSkip ค่าบูลีนเพื่อให้ผู้รับทราบว่าอุปกรณ์ที่ส่งมีปุ่มข้ามหรือไม่ ซึ่งจะช่วยให้รองรับโฆษณาแบบข้ามได้

ตัวอย่างไลฟ์สด:

{
  "media": {
    "contentId": "bbb",
    "contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/bbb.m3u8",
    "streamType": "LIVE",
    "customData": {
      "assetKey": "sN_IYUG8STe1ZzhIIE_ksA",
      "ApiKey": "",
      "senderCanSkip": true
    }
  },
  "credentials": "testCredentials"
}

ตัวอย่างสตรีม VOD:

{
  "media": {
    "contentId": "tos",
    "contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/tos.m3u8",
    "streamType": "BUFFERED",
    "customData": {
      "contentSourceId": "2548831",
      "videoId": "tears-of-steel",
      "ApiKey": "",
      "senderCanSkip": true
    }
  },
  "credentials": "testCredentials"
}