במדריך הזה מוסבר איך להגדיר את הכלי לשינוי מניפסט כדי לבקש פלחים של מודעות או של לוחות מידע באמצעות השיטה pod segment של מודעות.
בוחרים פרוטוקול סטרימינג:
דרישות מוקדמות
לפני שממשיכים, צריך להגדיר אירוע בשידור חי עבור סוג ההפניה האוטומטית של הצגת מודעות בשידור חי (DAI) ופרופילי קידוד. כדי להגדיר אירוע בשידור חי, בוחרים אחת מהשיטות הבאות:
- ממשק המשתמש של Ad Manager: הגדרת שידור חי ל-DAI.
- Ad Manager API: משתמשים בספריית לקוח כדי לקרוא לשיטה
LiveStreamEventService.createLiveStreamEvents. מגדירים את הפרמטרLiveStreamEvent.dynamicAdInsertionTypeלערךPOD_SERVING_REDIRECT. - אימות בקשות: כל בקשה לפלח שמוגשת באמצעות שרת פוד להפניה אוטומטית של פלחים חייבת לכלול אסימון חתום ב-HMAC לצורך אימות. צריך לחשב את הטוקן הזה פעם אחת לכל הפסקה למודעות ולשתף את הטוקן בכל הסשנים של הסטרימינג. הוראות לחישוב אסימון ה-HMAC מופיעות במאמר אימות בקשות להצגת רצף מודעות.
אחרי שמגדירים את אירוע השידור החי, מאחזרים את פרופילי הקידוד של האירוע
מממשק המשתמש או מ-API של Ad Manager באמצעות קריאה לשיטה
DaiEncodingProfileService.getDaiEncodingProfilesByStatement.
אחזור מקור נתוני התוכן
כשמשתמש בוחר אירוע בשידור חי, אפליקציית הלקוח שולחת בקשת סטרימינג אל Google Ad Manager. בתגובה של הסטרימינג, האפליקציה מחלצת את מזהה הסשן של Google DAI ואת המטא-נתונים כדי לכלול אותם בבקשת מניפסט הסטרימינג.
בדוגמה הבאה מועבר מזהה סשן של Google DAI למניפולטור של מניפסט:
https://MANIFEST_MANIPULATOR_URL/manifest.m3u8?DAI_stream_ID=SESSION_ID&network_code=NETWORK_CODE&DAI_custom_asset_key=CUSTOM_ASSET_KEY
במהלך העיבוד של בקשת ההפעלה של תוכן הווידאו, צריך לאחסן את מזהה הסשן של Google DAI ואת CUSTOM_ASSET_KEY מהבקשה כדי להתכונן להוספת מודעות.
זיהוי פלחים של הפסקות למודעות והוספת אי-רציפות
במהלך העיבוד של כל מניפסט של וריאנט, צריך לזהות את התגים EXT-X-CUE-IN ו-EXT-X-CUE-OUT בפיד, שמציינים את ההתחלה והסיום של הפסקת הפרסום.
מחליפים את התגים EXT-X-CUE-IN ו-EXT-X-CUE-OUT ברכיבי EXT-X-DISCONTINUITY כדי שנגן הווידאו של הלקוח יוכל לעבור בין תוכן למודעות.
במניפסט לדוגמה הבא, התגים EXT-X-CUE-IN ו-EXT-X-CUE-OUT מוחלפים:
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXT-X-CUE-OUT:15.000
#EXTINF:5.000,
contentorigin.com/3.ts
#EXTINF:5.000,
contentorigin.com/4.ts
#EXTINF:5.000,
contentorigin.com/5.ts
#EXT-X-CUE-IN
#EXTINF:5.000,
contentorigin.com/6.ts
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4
בדוגמה הבאה מוצג מניפסט שהוחלף:
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXTINF:5.000,
#EXT-X-DISCONTINUITY
{... Insert ad segments here ...}
#EXT-X-DISCONTINUITY
#EXTINF:5.000,
contentorigin.com/6.mp4
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4
פלחים של מודעות DAI ב-Google לא מוצפנים. אם התוכן מוצפן, צריך להסיר את ההצפנה על ידי הוספת רכיב EXT-X-KEY:METHOD=NONE לפני פלח המודעה הראשון של כל הפסקה לפרסומות. בסוף הפסקה למודעה, מוסיפים שוב הצפנה על ידי הוספת תג EXT-X-KEY מתאים.
כדאי לעקוב אחרי שעת ההתחלה, משך הזמן והאינדקס של ההפסקה למודעה הקרובה.
יצירת כתובות URL של פלחים לפרסום
מחליפים כל פלח תוכן בין התגים EXT-X-DISCONTINUITY בכתובת URL שמפנה לשיטה של רצף מודעות.
בדוגמה הבאה מוצג תהליך ההרכבה של פלח של רצף מודעות. שימו לב: הפלחים של המודעות משתמשים באינדקס מבוסס-אפס:
https://dai.google.com/linear/pods/v1/seg/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=AD_SEGMENT_DURATION&pd=AD_BREAK_DURATION&stream_id=SESSION_ID&auth-token=HMAC
בדוגמה הבאה, פלחים של רצף מודעות מוכנסים למניפסט:
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5.00,
contentorigin.com/1.ts
#EXTINF:5.00,
contentorigin.com/2.ts
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=5000&so=0&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/1.ts?sd=5000&so=5000&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/2.ts?sd=5000&so=10000&pd=15000&stream_id=SESSION_ID
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
contentorigin.com/6.mp4
#EXTINF:5.00,
contentorigin.com/7.mp4
#EXTINF:5.00,
contentorigin.com/8.mp4
אופציונלי: תזמון של הפסקה למודעה
כדי לשפר את שיעור המילוי, צריך לשלוח הודעה על הפסקת פרסום מוקדמת (EABN) עם משך רצף המודעות, פרמטרים מותאמים אישית של טירגוט ונתוני אותות SCTE-35. פרטים נוספים זמינים במאמר בנושא שליחת התראות על הפסקות פרסומות מוקדמות.