כתיבת אפליקציות שולח ל-CAF DAI SDK

להבדיל משילובים קודמים בין Chromecast ו-DAI, ה-CAF DAI SDK מתמקד בעיקר בשמירה על הסטנדרטים והציפיות שנקבעו על ידי Cast Application Framework. לכן, אין דרישות להתאמה אישית נרחבת של אפליקציות השולח לצורך ניהול תקשורת דו-כיוונית בין IMA לבין אפליקציית השולח. התקשורת הזאת מנוהלת עכשיו באמצעות הפונקציונליות המשולבת של CAF Ad Breaks (הפסקות למודעות ב-CAF), במקום להשתמש במערכות מותאמות אישית של הודעות כדי לתקשר בין האפליקציה של השולח לבין המקבל.

בהתאם לשולח שלכם, יכול להיות שעדיין תצטרכו להוסיף קוד מוגבל לשולחים כדי להפעיל באופן מלא את התמיכה בהפסקות למודעות ב-CAF. למשל, הוספת תמיכה במודעות שניתן לדלג עליהן לשולחי אינטרנט.

בנוסף לתמיכה בהפסקות למודעות ב-CAF, כל מה שנדרש עכשיו הוא לכלול את הנתונים של מקור ה-DAI באובייקט CAF MediaInfo שנשלח מהשולח אל המקבל. אפשר לשלוח את הנתונים האלה בדרכים רבות ושונות. לדוגמה, אפשר לקודד בתוך הקוד את contentSourceID במקלט ולשלוח מזהה וידאו רק עם האובייקט 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"
}