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

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

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

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

עם זאת, כדי לפשט את הדברים, בכל הדוגמאות שלנו נניח שאתם פועלים לפי המבנה הפשוט הזה ומוסכמת השמות הזו לאובייקטים של MediaInfo:

contentId מזהה ייחודי של פריט המדיה
contentUrl כתובת ה-URL של השידור החלופי שנטענת אם בקשת השידור של DAI נכשלת מסיבה כלשהי
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"
}