ב-ads_manager.js
, מגדירים מחלקת wrapper ל-StreamManager של IMA SDK שמבצעת בקשות לסטרימינג, מקבלת את מניפסט המודעות בבלוק, מאזינה לאירועי סטרימינג של IMA ומעבירה אירועי emsg ל-IMA SDK.
באפליקציית הדוגמה של IMA HbbTV, ads_manager.js
, מוגדרות השיטות הבאות:
requestStream()
onStreamEvent()
onEmsgEvent()
loadAdPodManifest()
הפעלת Ad Manager
מאתחלים את המחלקה ads manager ומגדירים מאזינים לאירועי הסטרימינג של IMA. בשיחה הזו, מגדירים את הגורם המטפל באירוע emsg באמצעות השיטה VideoPlayer.setEmsgEventHandler()
.
שליחת בקשה לשידור של בלוק מודעות
יוצרים את השיטה AdManager.requestStream()
כדי ליצור אובייקט PodStreamRequest
באמצעות קוד הרשת של Google Ad Manager ומפתח הנכס המותאם אישית של הסטרימינג. כדי לבדוק את אפליקציית HbbTV, משתמשים בזרם של מודעות בפורמט DASH שמוצגות על ידי IMA עם הפרמטרים הבאים של הזרם:
- קוד הרשת:
'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.