ב-application.js, יוצרים את המחלקה הראשית של אפליקציית HbbTV שמתקשרת עם שידור HbbTV. הכיתה הזו מקיימת אינטראקציה עם broadcastAppManager ועם broadcastContainer. דוגמה למחלקה דומה מופיעה במאמר טיפול באובייקט של שידור אודיו/וידאו.
משנים את אפליקציית HbbTV הבסיסית הזו כדי לבקש שידור IMA ולהגיב לאירועים של הפסקה למודעה.
אתחול האפליקציה
מאתחלים את מחלקת האפליקציה ב-application.js, מגדירים את broadcastAppManager ואת broadcastContainer בהתאם למדריך טיפול באובייקט השידור של אודיו ווידאו.
לאחר מכן, יוצרים אובייקטים חדשים של VideoPlayer ו-AdManager.
שליחת בקשת סטרימינג של IMA
ב-method HbbTVApp.onPlayStateChangeEvent(), שולחים בקשה לסטרימינג בתגובה למעבר האפליקציה אל PRESENTING_PLAYSTATE. הגישה הזו מכינה את האפליקציה לטעינת מניפסט של רצף מודעות בתגובה לאירוע AD_BREAK_EVENT_ANNOUNCE.
אם המכשיר לא משדר בצורה נכונה את מאגר PlayStateChange
האירועים, אפשר להשתמש בפונקציה setInterval() כדי לבדוק שינויים במצב ההפעלה:
setInterval(function() {
if (!subscribedToStreamEvents &&
this.broadcastContainer.playState == PRESENTING_PLAYSTATE) {
subscribedToStreamEvents = true;
this.broadcastContainer.addStreamEventListener(
STREAM_EVENT_URL, 'eventItem', function(event) {
this.onStreamEvent(event);
}.bind(this));
debugView.log('Subscribing to stream events');
this.adManager.requestStream(NETWORK_CODE, CUSTOM_ASSET_KEY);
}
…
האזנה לאירועים של שידורי HbbTV
יוצרים את השיטה HbbTVApp.onStreamEvent() כדי להאזין לאירועים של הפסקות לפרסומות: adBreakAnnounce, adBreakStart ו-adBreakEnd:
טיפול באירועים בסטרימינג של HbbTV
כדי לטפל באירועים של סטרימינג HbbTV, מבצעים את השלבים הבאים:
כדי לטעון את מניפסט רצף המודעות בתגובה לאירוע
adBreakAnnounce, צריך ליצור את השיטהHbbTVApp.onAdBreakAnnounce():כדי לעבור להפעלה של רצף מודעות במהלך הפסקות הפרסום, צריך ליצור את השיטה
HbbTVApp.onAdBreakStart():כדי לחזור לשידור התוכן, יוצרים את השיטה
HbbTVApp.onAdBreakEnd()method:
מעכשיו, האפליקציה שלכם ב-HbbTV שולחת בקשות להצגת בלוקים של מודעות מ-IMA SDK ומציגה אותם. כדי להשוות את האפליקציה שלכם לאפליקציה לדוגמה שההגדרה שלה הושלמה, אפשר לעיין בדוגמה של IMA HbbTV ב-GitHub.