ב-ads_manager.js, מגדירים מחלקת wrapper ל-StreamManager של IMA SDK שמבצעת בקשות לסטרימינג, מקבלת את מניפסט המודעות בבלוק, מאזינה לאירועי סטרימינג של IMA ומעבירה אירועי emsg ל-IMA SDK.
באפליקציית הדוגמה של IMA HbbTV, ads_manager.js, מוגדרות השיטות הבאות:
requestStream()onStreamEvent()onEmsgEvent()loadAdPodManifest()
הפעלת Ad Manager
מאתחלים את המחלקה של Ad Manager ומגדירים מאזינים לאירועים של IMA Stream. בשיחה הזו, מגדירים את הגורם המטפל באירוע emsg באמצעות השיטה VideoPlayer.setEmsgEventHandler().
שליחת בקשה להצגת רצף מודעות
יוצרים את השיטה AdManager.requestStream() כדי ליצור אובייקט PodStreamRequest באמצעות קוד הרשת שלכם ב-Google Ad Manager ומפתח הנכס המותאם אישית של הסטרימינג. כדי לבדוק את אפליקציית HbbTV, משתמשים בזרם לדוגמה של IMA עם שרת DASH pod עם הפרמטרים הבאים של הזרם:
- קוד הרשת:
'21775744923' - מפתח נכס מותאם אישית:
'hbbtv-dash'
המתנה לאירועים של שידורי מודעות
יוצרים את השיטה AdManager.onStreamEvent() לטיפול בתגובה של האפליקציה לאירועי הסטרימינג של IMA: STREAM_INITIALIZED, AD_BREAK_STARTED ו-AD_BREAK_ENDED.
טיפול במטא-נתונים של שידורי מודעות
כדי להעביר את פרטי האירוע emsg אל IMA, צריך ליצור את השיטה AdManager.onEmsgEvent() באמצעות השיטה StreamManager.processMetadata(). הקריאה לשיטה הזו מתבצעת על ידי המחלקה של נגן הווידאו באמצעות השיטה VideoPlayer.setEmsgEventHandler().
טעינת המניפסט של רצף המודעות
יוצרים את השיטה AdManager.loadAdPodManifest() לטעינה מראש של מניפסט חבילת המודעות בנגן הווידאו. יוצרים את כתובת ה-URL של המניפסט באמצעות המבנה שמופיע בקטע שיטה: מניפסט של DASH pod.
אפליקציית הדוגמה של HbbTV משתמשת ב-podId ייחודי שנוצר באופן אקראי. באפליקציות בייצור, הערך podId הוא מספר שלם שמתחיל באחד וגדל באחד לכל הפסקה לפרסומות. מוודאים שהערך של podId זהה לכל הצופים בהפסקת הפרסום. כדי לקבל podId, מומלץ להשתמש ב-API של התראות על הפסקות פרסומות מוקדמות (EABN). בסביבת הפקה, צריך לכלול את podId ואת podDuration
באירוע הסטרימינג של HbbTV AD_BREAK_ANNOUNCE.
לאחר מכן, יוצרים את המחלקה הראשית של האפליקציה עבור אפליקציית HbbTV שמתקשרת עם שידור HbbTV.