IMA SDK を使用すると、マルチメディア広告をウェブサイトやアプリに簡単に統合できます。IMA SDK は、 VAST 準拠のあらゆる広告サーバーから広告をリクエストし、アプリでの広告再生を管理できます。IMA DAI SDK を使用すると、アプリは広告とコンテンツ動画(VOD またはライブ コンテンツ)のストリーム リクエストを行います。SDK は結合された動画ストリームを返すため、アプリ内で広告とコンテンツの動画の切り替えを管理する必要はありません。
関心のある DAI ソリューションを選択する
フルサービス DAI
このガイドでは、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 を初期化する
広告セットをリクエストするには、DAI ストリームのリクエストと管理を行う ima.dai.api.StreamManager
を作成します。コンストラクタは、広告クリックを処理する動画要素と広告 UI 要素を受け取ります。
ストリーム リクエストを行う
ストリームをリクエストする関数を定義します。この例には、VOD とライブ配信の両方の関数が含まれています。これらの関数は、VODStreamRequest
クラスと LiveStreamRequest
クラスのインスタンスを作成します。streamRequest
インスタンスを取得したら、ストリーム リクエスト インスタンスを使用して streamManager.requestStream()
メソッドを呼び出します。
どちらのストリーム リクエスト メソッドも、API キーを省略可能です。保護されたストリームを使用している場合は、DAI 認証キーを作成する必要があります。詳しくは、DAI 動画ストリーム リクエストを認証するをご覧ください。この例のストリームはどちらも DAI 認証キーで保護されていないため、apiKey
は使用されません。
ストリームのメタデータを解析する
また、タイムド メタデータ イベントをリッスンし、イベントを StreamManager
クラスに転送して、広告ブレーク中に IMA が広告イベントを発行できるようにするハンドラも追加する必要があります。
このガイドでは、ストリーム再生に hls.js
プレーヤーを使用していますが、メタデータの実装は使用するプレーヤーの種類によって異なります。
ストリーム イベントを処理する
主要な動画イベントのイベント リスナーを実装します。この例では、onStreamEvent()
関数を呼び出して LOADED
、ERROR
、AD_BREAK_STARTED
、AD_BREAK_ENDED
イベントを処理します。この関数は、IMA SDK で必要な、ストリームの読み込み、ストリーム エラー、広告再生中のプレーヤー コントロールの無効化を処理します。
ストリームが読み込まれると、動画プレーヤーは loadUrl()
関数を使用して、指定された URL を読み込んで再生します。
これで、これで、IMA DAI SDK を使用して広告をリクエストし、表示できるようになりました。SDK のより高度な機能については、他のガイドまたは GitHub のサンプルをご覧ください。