في application.js
، أنشئ الفئة الرئيسية لتطبيق HbbTV الذي يتفاعل مع بث HbbTV. يتفاعل هذا الصف مع broadcastAppManager
وbroadcastContainer
. للاطّلاع على مثال لصف مشابه، راجِع
التعامل مع عنصر البث الصوتي والمرئي.
عدِّل تطبيق HbbTV الأساسي هذا لطلب بث IMA والاستجابة لأحداث فواصل الإعلانات.
إعداد التطبيق
ابدأ بتعريف فئة التطبيق في application.js
، ثم أعدّ broadcastAppManager
وbroadcastContainer
باتّباع الدرس التعليمي التعامل مع عنصر البث الصوتي والمرئي.
بعد ذلك، ابدأ إنشاء كائنَي VideoPlayer
وAdManager
جديدَين.
إرسال طلب بث IMA
في طريقة HbbTVApp.onPlayStateChangeEvent()
، أرسِل طلب بث استجابةً لتبديل التطبيق إلى PRESENTING_PLAYSTATE
. يُعدّ هذا الأسلوب تطبيقك لتحميل بيان حزمة الإعلانات استجابةً لحدث AD_BREAK_EVENT_ANNOUNCE
.
إذا لم يرسل جهازك حاوية البث PlayStateChange
event بشكل صحيح، استخدِم الدالة 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()
على النحو التالي:
أنت الآن تطلب وتعرض حِزم إعلانات IMA SDK في تطبيق HbbTV. ولمقارنة تطبيقك بتطبيق نموذجي مكتمل، يمكنك الاطّلاع على نموذج IMA HbbTV على GitHub.