ads_manager.js で、ストリーム リクエストの作成、連続配信広告マニフェストの取得、IMA ストリーム イベントのリッスン、emsg イベントの IMA SDK への受け渡しを行う IMA SDK StreamManager のラッパー クラスを定義します。
ads_manager.js で、IMA HbbTV サンプルアプリは次のメソッドを設定します。
requestStream()onStreamEvent()onEmsgEvent()loadAdPodManifest()
広告マネージャーを初期化する
広告マネージャー クラスを初期化し、IMA ストリーム イベントのリスナーを設定します。この呼び出しで、VideoPlayer.setEmsgEventHandler() メソッドを使用して emsg イベント ハンドラを設定します。
連続配信広告ストリームのリクエストを行う
AdManager.requestStream() メソッドを作成して、Google アド マネージャー ネットワーク コードとストリームのカスタム アセットキーを使用して PodStreamRequest オブジェクトを作成します。次のストリーム パラメータを使用して、IMA サンプル DASH ポッド配信ストリームで HbbTV アプリをテストします。
- ネットワーク コード:
'21775744923' - カスタム アセットキー:
'hbbtv-dash'
広告ストリーム イベントをリッスンする
AdManager.onStreamEvent() メソッドを作成して、IMA ストリーム イベント STREAM_INITIALIZED、AD_BREAK_STARTED、AD_BREAK_ENDED に対するアプリのレスポンスを処理します。
広告ストリーム メタデータを処理する
emsg イベント情報を IMA に渡すには、StreamManager.processMetadata() メソッドを使用して AdManager.onEmsgEvent() メソッドを作成します。動画プレーヤー クラスは、VideoPlayer.setEmsgEventHandler() メソッドを使用してこのメソッドを呼び出します。
連続配信広告マニフェストを読み込む
AdManager.loadAdPodManifest() メソッドを作成して、動画プレーヤーで連続配信広告マニフェストをプリロードします。メソッド: DASH ポッド マニフェストの
構造を使用して、認証されたマニフェスト URL を作成します。
HbbTV サンプルアプリは、ランダムに生成された一意の adBreakId 値を使用します。本番環境のアプリでは、adBreakId 値は英数字の文字列(ab-001 など)で、ミッドロール挿入点ごとに 1 ずつ増えます。adBreakId 値が、ミッドロール挿入点のすべての視聴者で同じ値であることを確認します。adBreakId 値を取得するには、DAI 広告ブレイク API を使用することをおすすめします。本番環境では、adBreakId 値と podDuration 値を HbbTV ストリーム イベント AD_BREAK_ANNOUNCE に含めます。
次に、HbbTV ブロードキャストとやり取りする HbbTV アプリのメイン アプリケーション クラスを作成します。