در application.js ، کلاس اصلی برنامه HbbTV خود را که با پخش HbbTV تعامل دارد، ایجاد کنید. این کلاس با broadcastAppManager و broadcastContainer تعامل دارد. برای مثالی از یک کلاس مشابه، به بخش مدیریت شیء broadcast a/v مراجعه کنید.
این برنامه پایه HbbTV را برای درخواست پخش IMA و پاسخ به رویدادهای وقفه تبلیغاتی تغییر دهید.
مقداردهی اولیه برنامه
کلاس برنامه را در application.js مقداردهی اولیه کنید، broadcastAppManager و broadcastContainer طبق آموزش مدیریت شیء broadcast a/v تنظیم کنید. پس از آن، اشیاء جدید VideoPlayer و AdManager را آغاز کنید.
درخواست پخش IMA بدهید
در متد HbbTVApp.onPlayStateChangeEvent() ، در پاسخ به تغییر برنامه به PRESENTING_PLAYSTATE ، یک درخواست پخش جریانی ایجاد کنید. این رویکرد، برنامه شما را برای بارگذاری مانیفست ad pod در پاسخ به رویداد AD_BREAK_EVENT_ANNOUNCE آماده میکند.
اگر دستگاه شما رویداد PlayStateChange مربوط به کانتینر پخش را به درستی منتشر نمیکند، از تابع setInterval() برای بررسی تغییرات playstate استفاده کنید:
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، مراحل زیر را انجام دهید:
برای بارگذاری مانیفست ad pod در پاسخ به رویداد
adBreakAnnounce، متدHbbTVApp.onAdBreakAnnounce()را ایجاد کنید:برای تغییر به پخش جریان تبلیغات در طول وقفههای تبلیغاتی، متد
HbbTVApp.onAdBreakStart()را ایجاد کنید:برای بازگشت به پخش محتوا، متد
HbbTVApp.onAdBreakEnd()را ایجاد کنید:
اکنون شما در حال درخواست و نمایش پادهای تبلیغاتی IMA SDK در برنامه HbbTV خود هستید. برای مقایسه برنامه خود با یک برنامه نمونه تکمیل شده، به نمونه IMA HbbTV در GitHub مراجعه کنید.