להבדיל משילובים קודמים בין 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"
}