このガイドでは、IMA DAI SDK を動画プレーヤー アプリに統合する方法について説明します。統合のサンプルを確認するには、GitHub から BasicExample をダウンロードしてください。
IMA DAI の概要
IMA DAI の実装には、このガイドで説明するように、主に 4 つの SDK コンポーネントが関与します。
IMAAdDisplayContainer- 動画再生要素の上に配置され、広告 UI 要素を格納するコンテナ オブジェクト。IMAAdsLoader- ストリームをリクエストし、ストリーム リクエスト レスポンス オブジェクトによってトリガーされたイベントを処理するオブジェクト。インスタンス化する広告ローダは 1 つだけにしてください。この広告ローダは、アプリのライフサイクル全体で再利用できます。IMAStreamRequest-IMAVODStreamRequestまたはIMALiveStreamRequest。ストリーム リクエストを定義するオブジェクト。ストリーム リクエストは、ビデオ オンデマンドまたはライブ ストリームのいずれかです。ライブ配信リクエストではアセットキーを指定し、VOD リクエストでは CMS ID と動画 ID を指定します。どちらのリクエスト タイプにも、指定したストリームにアクセスするために必要な API キーと、Google アド マネージャーの設定で指定された広告識別子を IMA SDK で処理するための Google アド マネージャー ネットワーク コードを、必要に応じて含めることができます。IMAStreamManager- ダイナミック広告挿入ストリームと DAI バックエンドとのやり取りを処理するオブジェクト。ストリーム マネージャーは、トラッキング ping を処理し、ストリーム イベントと広告イベントをパブリッシャーに転送します。
前提条件
始める前に、次のものが必要になります。
- Xcode 13 以降
- IMA SDK をインストールする方法:
- Swift Package Manager(推奨)
- iOS 向け IMA SDK のダウンロード コピー
また、IMA SDK からストリームをリクエストするためのパラメータも必要です。 リクエスト パラメータの例については、サンプル ストリームをご覧ください。
| ライブ配信のパラメータ | |
|---|---|
| アセットキー |
Google アド マネージャーでライブ配信を識別するアセットキー。 例: c-rArva4ShKVIAkNfy6HUQ
|
| VOD ストリーム パラメータ | |
| コンテンツ ソース ID |
Google アド マネージャーのコンテンツ ソース ID。 例: 2548831
|
| 動画 ID |
Google アド マネージャーの動画 ID。 例: tears-of-steel
|
| 共通(VOD とライブ配信)パラメータ | |
| ネットワーク コード |
お客様の Google アド マネージャー ネットワークのコード 例: 21775744923
|
新しい Xcode プロジェクトを作成する
Xcode で、Objective-C を使用して「BasicExample」という名前の新しい iOS プロジェクトを作成します。
Xcode プロジェクトに IMA DAI SDK を追加する
IMA SDK をインストールするには、お好みの方法を選択してください。
推奨: Swift Package Manager を使用して SDK をインストールする
Interactive Media Ads SDK はバージョン 3.18.4 から Swift Package Manager に対応しています。Swift パッケージをインポートする手順は次のとおりです。
Xcode で、[File] > [Add Packages] の順に移動して、IMA DAI SDK Swift パッケージをインストールします。
表示されたプロンプトで、IMA DAI SDK の Swift パッケージの GitHub リポジトリ(下記)を検索します。
https://github.com/googleads/swift-package-manager-google-interactive-media-ads-ios使用する IMA DAI SDK の Swift パッケージのバージョンを選択します。新しいプロジェクトの場合は、[Up to Next Major Version] を選択します。
完了すると、Xcode はパッケージの依存関係を解決し、バックグラウンドでダウンロードします。パッケージの依存関係の追加について詳しくは、Apple の記事を参照してください。
SDK を手動でダウンロードしてインストールする
Swift Package Manager を使用しない場合は、IMA SDK をダウンロードしてプロジェクトに手動で追加します。
動画プレーヤーを作成する
メインのビュー コントローラに動画プレーヤーを実装します。AV プレーヤーを UI ビューでラップします。IMA SDK は、UI ビューを使用してディスプレイ広告 UI 要素を表示します。
Objective-C
Swift
広告ローダを初期化する
IMA SDK をビュー コントローラにインポートし、IMAAdsLoaderDelegate プロトコルと IMAStreamManagerDelegate プロトコルを導入して、広告ローダとストリーム マネージャーのイベントを処理します。
次のプライベート プロパティを追加して、主要な IMA SDK コンポーネントを保存します。
IMAAdsLoader- アプリのライフサイクル全体にわたってストリーム リクエストを管理します。
IMAAdDisplayContainer- 広告のユーザー インターフェース要素の挿入と管理を処理します。
IMAAVPlayerVideoDisplay- IMA SDK とメディア プレーヤーの間で通信し、時間指定メタデータを処理します。IMAStreamManager- ストリームの再生を管理し、広告関連のイベントを呼び出します。
ビューが読み込まれたら、広告ローダ、広告表示コンテナ、動画表示を初期化します。
Objective-C
Swift
ストリーム リクエストを行う
ユーザーが再生ボタンを押したときに、新しいストリーム リクエストを送信します。
ライブ配信には IMALiveStreamRequest クラスを使用します。VOD ストリームの場合は、IMAVODStreamRequest クラスを使用します。
ストリーム リクエストには、ストリーム パラメータのほか、広告表示コンテナと動画表示への参照が必要です。
Objective-C
Swift
ストリーム読み込みイベントをリッスンする
IMAAdsLoader クラスは、ストリーム リクエストの初期化が成功または失敗したときに IMAAdsLoaderDelegate メソッドを呼び出します。
adsLoadedWithData デリゲート メソッドで、IMAStreamManagerDelegate を設定します。
ストリーム マネージャーを初期化します。初期化時に、ストリーム マネージャーが再生を開始します。
failedWithErrorData デリゲート メソッドで、エラーをログに記録します。必要に応じて、バックアップ ストリームを再生します。DAI のベスト プラクティスをご覧ください。
Objective-C
Swift
広告イベントをリッスンする
IMAStreamManager は、IMAStreamManagerDelegate メソッドを呼び出して、ストリーム イベントとエラーをアプリに渡します。
この例では、メインの広告イベントをコンソールに記録します。
Objective-C
Swift
アプリを実行します。成功した場合は、IMA SDK を使用して Google DAI ストリームをリクエストして再生します。SDK の高度な機能については、左側のサイドバーに記載されている他のガイドまたは GitHub のサンプルをご覧ください。