نوشتن برنامه های فرستنده برای CAF DAI SDK

برخلاف ادغام های قبلی بین Chromecast و DAI، CAF DAI SDK به شدت بر حفظ استانداردها و انتظارات تعیین شده توسط Cast Application Framework تمرکز دارد. به این ترتیب، هیچ الزامی برای سفارشی کردن شدید برنامه های فرستنده برای مدیریت ارتباطات دو طرفه بین IMA و برنامه فرستنده وجود ندارد. این ارتباطات اکنون از طریق عملکرد CAF Ad Breaks یکپارچه مدیریت می شود، نه اینکه نیاز به سیستم های پیام سفارشی برای برقراری ارتباط بین برنامه فرستنده و گیرنده باشد.

بسته به فرستنده خود، ممکن است همچنان نیاز به افزودن کد محدودی به فرستنده های خود داشته باشید تا پشتیبانی CAF Ad Breaks را به طور کامل فعال کنید، مانند افزودن پشتیبانی برای تبلیغات قابل پرش به فرستندگان وب .

تنها چیزی که اکنون لازم است، جدای از پشتیبانی از CAF Ad Breaks، گنجاندن داده های جریان DAI در شی CAF MediaInfo است که از فرستنده به گیرنده ارسال می شود. شما می‌توانید انتخاب کنید که این داده‌ها به روش‌های مختلف ارسال شود، برای مثال، می‌توانید محتوای منبع منبع را روی گیرنده خود کدنویسی کنید و تنها با شی MediaInfo شناسه ویدیویی ارسال کنید، یا می‌توانید یک شناسه دلخواه به گیرنده ارسال کنید، و از آنجا یک پرس و جو آنلاین کنید. پایگاه داده برای پارامترهای DAI واقعی.

با این حال، برای سادگی، همه نمونه‌های ما فرض می‌کنند که شما از این ساختار ساده و قرارداد نام‌گذاری برای اشیاء MediaInfo خود پیروی می‌کنید:

شناسه محتوا یک شناسه منحصر به فرد برای این آیتم رسانه ای
contentUrl اگر DAI StreamRequest به هر دلیلی ناموفق بود، نشانی وب جریان بازگشتی بارگیری می‌شود
نوع جریان برای پخش‌های زنده، این مقدار باید روی «LIVE» تنظیم شود. برای جریان‌های VOD، این مقدار باید روی «BUFFERED» تنظیم شود
داده های سفارشی assetKey فقط پخش زنده پخش زنده مورد نظر را برای بارگیری شناسایی می کند
contentSourceId فقط جریان VOD. فید رسانه ای را که حاوی جریان درخواستی است شناسایی می کند.
شناسه ویدیو فقط جریان VOD. جریان درخواستی را در فید رسانه مشخص شده شناسایی می کند.
کلید ای پی ای یک کلید 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 Stream:

{
  "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"
}