ב-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():
מעכשיו, האפליקציה שלכם ב-HbbTV שולחת בקשות להצגת בלוקים של מודעות מ-IMA SDK ומציגה אותם. כדי להשוות את האפליקציה שלכם לאפליקציה לדוגמה שההגדרה שלה הושלמה, אפשר לעיין בדוגמה של IMA HbbTV ב-GitHub.