このガイドでは、IMA DAI SDK を動画プレーヤー アプリに統合する方法について説明します。統合が完了したサンプルを確認する場合は、GitHub から簡単な例をダウンロードしてください。
IMA DAI の概要
IMA DAI SDK の実装には、このガイドで説明するように、主に 2 つのコンポーネントが含まれます。
StreamRequest-VODStreamRequestまたはLiveStreamRequest: ストリーム リクエストを定義するオブジェクト。ストリーム リクエストは、ビデオ オンデマンドまたはライブ ストリームのいずれかです。ライブ配信リクエストではアセットキーを指定し、VOD リクエストでは CMS ID と動画 ID を指定します。どちらのリクエスト タイプでも、指定したストリームにアクセスするために必要な API キーと、Google アド マネージャーの設定で指定された広告識別子を IMA SDK で処理するための Google アド マネージャー ネットワーク コードを、必要に応じて含めることができます。StreamManager: ダイナミック広告挿入ストリームと DAI バックエンドとのやり取りを処理するオブジェクト。ストリーム マネージャーは、トラッキング ping を処理し、ストリーム イベントと広告イベントをパブリッシャーに転送します。
前提条件
- 3 つの空のファイル
- dai.html
- dai.css
- dai.js
- パソコンにインストールされた Python、またはテストに使用するウェブサーバー
開発用サーバーを起動する
IMA DAI SDK は、読み込まれるページと同じプロトコルを使用して依存関係を読み込むため、ウェブサーバーを使用してアプリをテストする必要があります。ローカル開発サーバーを簡単に起動するには、Python の組み込みサーバーを使用します。
コマンドラインを使用して、
index.htmlファイルを含むディレクトリから次のコマンドを実行します。python -m http.server 8000ウェブブラウザで
http://localhost:8000/にアクセスします。Apache HTTP Server などの他のウェブサーバーも使用できます。
動画プレーヤーを作成する
まず、dai.html を変更して、HTML5 動画要素と、クリックスルーに使用する div を作成します。次の例では、IMA DAI SDK をインポートしています。詳細については、IMA DAI SDK をインポートするをご覧ください。
また、dai.css ファイルと dai.js ファイルを読み込み、hls.js 動画プレーヤーをインポートするために必要なタグを追加します。次に、dai.css を変更して、ページ要素のサイズと位置を指定します。最後に、dai.js で、ストリーム リクエスト情報を保持する変数を定義し、ページが読み込まれたときに実行する initPlayer() 関数を定義して、クリック時にストリームをリクエストするように再生ボタンを設定します。
一時停止したミッドロール挿入点中に再生を再開するには、動画要素の pause イベントと start イベントのイベント リスナーを設定して、プレーヤー コントロールを表示または非表示にします。
IMA DAI SDK を読み込む
次に、dai.html で、dai.js のタグの前にスクリプトタグを使用して IMA フレームワークを追加します。
StreamManager を初期化する
一連の広告をリクエストするには、ima.dai.api.StreamManager を作成します。これは、DAI ストリームのリクエストと管理を行うものです。コンストラクタは、広告クリックを処理する動画要素と広告 UI 要素を受け取ります。
ストリーム リクエストを行う
ストリームをリクエストする関数を定義します。この例には、VOD とライブ配信の両方の関数が含まれており、VODStreamRequest クラスと LiveStreamRequest クラスのインスタンスを作成します。streamRequest インスタンスを取得したら、ストリーム リクエスト インスタンスを指定して streamManager.requestStream() メソッドを呼び出します。
どちらのストリーム リクエスト メソッドも、オプションの API キーを受け取ります。保護されたストリームを使用している場合は、DAI 認証キーを作成する必要があります。詳細については、DAI 動画ストリーム リクエストを認証するをご覧ください。この例のストリームはどちらも DAI 認証キーを使用して保護されていないため、apiKey は使用されません。
ストリーム メタデータを解析する
また、時間指定メタデータ イベントをリッスンするハンドラを追加し、IMA がミッドロール挿入点中に広告イベントを送信できるように、イベントを StreamManager クラスに転送する必要があります。
このガイドでは、ストリーム再生に hls.js プレーヤーを使用していますが、メタデータの実装は使用するプレーヤーの種類によって異なります。
ストリーム イベントを処理する
主要な動画イベントのイベント リスナーを実装します。この例では、onStreamEvent() 関数を呼び出して、LOADED、ERROR、AD_BREAK_STARTED、AD_BREAK_ENDED イベントを処理します。この関数は、IMA SDK で必要なストリームの読み込み、ストリーム エラー、広告再生中のプレーヤー コントロールの無効化を処理します。
ストリームが読み込まれると、動画プレーヤーは loadUrl() 関数を使用して、指定された URL を読み込んで再生します。
これで、これで、IMA DAI SDK を使用して広告をリクエストし、表示できるようになりました。SDK の高度な機能については、他のガイドまたは GitHub のサンプルをご覧ください。