ads_manager.js
में, IMA SDK StreamManager के लिए एक रैपर क्लास तय करें. यह क्लास, स्ट्रीम के अनुरोध करती है, विज्ञापन पॉड मेनिफ़ेस्ट को हासिल करती है, IMA स्ट्रीम इवेंट को सुनती है, और IMA SDK को emsg इवेंट पास करती है.
ads_manager.js
में, IMA HbbTV का सैंपल ऐप्लिकेशन इन तरीकों को सेट अप करता है:
requestStream()
onStreamEvent()
onEmsgEvent()
loadAdPodManifest()
विज्ञापन मैनेजर को शुरू करना
विज्ञापन मैनेजर क्लास को शुरू करें और IMA स्ट्रीम इवेंट के लिए लिसनर सेट करें. इस कॉल में, VideoPlayer.setEmsgEventHandler()
तरीके का इस्तेमाल करके emsg इवेंट हैंडलर सेट करें.
विज्ञापन पॉड स्ट्रीम के लिए अनुरोध करना
अपने Google Ad Manager नेटवर्क कोड और स्ट्रीम की कस्टम ऐसेट कुंजी का इस्तेमाल करके, AdManager.requestStream()
ऑब्जेक्ट बनाने के लिए AdManager.requestStream()
तरीका बनाएं.PodStreamRequest
आईएमए के सैंपल डैश पॉड की मदद से, अपने HbbTV ऐप्लिकेशन की जांच करें. इसके लिए, स्ट्रीम के इन पैरामीटर का इस्तेमाल करें:
- नेटवर्क कोड:
'21775744923'
- कस्टम ऐसेट का मुख्य डाइमेंशन:
'hbbtv-dash'
विज्ञापन स्ट्रीम इवेंट सुनना
अपने ऐप्लिकेशन की प्रतिक्रिया को IMA स्ट्रीम इवेंट, STREAM_INITIALIZED
, AD_BREAK_STARTED
, और AD_BREAK_ENDED
को हैंडल करने के लिए, AdManager.onStreamEvent()
तरीका बनाएं.
विज्ञापन स्ट्रीम के मेटाडेटा को मैनेज करना
emsg इवेंट की जानकारी को IMA पर भेजने के लिए, AdManager.onEmsgEvent()
तरीके का इस्तेमाल करके AdManager.onEmsgEvent()
तरीका बनाएं.StreamManager.processMetadata()
वीडियो प्लेयर क्लास, VideoPlayer.setEmsgEventHandler()
तरीके के साथ इस तरीके को कॉल करती है.
विज्ञापन पॉड का मेनिफ़ेस्ट लोड करना
वीडियो प्लेयर के साथ विज्ञापन पॉड मेनिफ़ेस्ट को प्रीलोड करने के लिए, AdManager.loadAdPodManifest()
तरीका बनाएं. तरीका: DASH पॉड मेनिफ़ेस्ट में दिए गए स्ट्रक्चर का इस्तेमाल करके, मेनिफ़ेस्ट यूआरएल बनाएं.
HbbTV सैंपल ऐप्लिकेशन, रैंडम तरीके से जनरेट किए गए यूनीक podId
का इस्तेमाल करता है. प्रोडक्शन ऐप्लिकेशन में, podId
एक पूर्णांक होता है. इसकी शुरुआत एक से होती है और हर विज्ञापन ब्रेक के लिए इसमें एक की बढ़ोतरी होती है. पुष्टि करें कि विज्ञापन ब्रेक के सभी दर्शकों के लिए podId
की वैल्यू एक जैसी हो. podId
पाने के लिए, हम Early ad break notifications (EABN) API का इस्तेमाल करने का सुझाव देते हैं. प्रोडक्शन एनवायरमेंट में, HbbTV स्ट्रीम इवेंट AD_BREAK_ANNOUNCE
में podId
और podDuration
शामिल करें.
इसके बाद, अपने HbbTV ऐप्लिकेशन के लिए मुख्य ऐप्लिकेशन क्लास बनाएं. यह HbbTV ब्रॉडकास्ट के साथ इंटरैक्ट करती है.