SDK の動作モード
SDK は、広告サーバーから受け取る広告レスポンスに応じて、1 つ以上のモードで動作します。
- 単一の広告
start
メッセージがIMAAdsManager
に送信されたときに再生できる広告。1 つの広告の再生に特別な初期化は必要ありません。- 連続配信広告
start
メッセージがIMAAdsManager
に送信されると、連続して再生される複数の広告。単一の連続配信広告を再生するための特別な初期化は必要ありません。- 広告ルール
- 特定のコンテンツに対して、特定の時間にスケジュール設定されるミッドロール挿入点の再生リスト。広告ルールモードでは
start
メッセージは無視されます。1 つの再生リスト内に複数のミッドロール挿入点(プレロール、ミッドロール、ポストロールなど)をスケジュールできます。実装について詳しくは、以下の広告ルールのセクションをご覧ください。
広告のルール
IMA iOS SDK では、完全に自動化された広告再生リストがサポートされています。この機能により、広告の入稿時に Google アド マネージャーの指定に沿ってコンテンツにミッドロール挿入点が挿入されます。また、プレロール、ミッドロール、ポストロールなどのミッドロール挿入点をサポートするために必要な動画プレーヤー コードも大幅に簡素化されます。
- アド マネージャーで広告入稿を行う際は、「常にコンテンツの先頭で広告ブレークを再生する」、「コンテンツの再生開始から 30 分ごとに 1 分間の広告ブレークを再生する」など、さまざまな広告ルールを指定できます。
- 広告がリクエストされると、広告サーバーから広告再生リストを返すことができます。SDK は再生リストを処理し、指定されたミッドロール挿入点を自動的にスケジュールします。
AdsManager
を初期化するときに、initializeWithContentPlayhead:adsRenderingSettings:
呼び出しによってIMAContentPlayhead
オブジェクトが渡されます。AVPlayer を使用してコンテンツを表示する場合は、adDisplayContainer
の作成時にIMAAVPlayerContentPlayhead
のインスタンスを SDK に渡します。このオブジェクトはコンテンツ再生の進捗状況をトラッキングするために使用されます。これにより、アド マネージャーで指定された時間に広告ブレークが自動的に挿入されます。
AVPlayer の場合:
IMAContentPlayhead *contentPlayhead = [[IMAAVPlayerContentPlayhead alloc] initWithAVPlayer:self.contentAVPlayer]; IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:adTagUrl adDisplayContainer:adDisplayContainer contentPlayhead:contentPlayhead userContext:nil];
AVPlayer なしの場合:
IMAContentPlayhead
インターフェースを実装します。- 動画プレーヤーの現在の時刻を返す
currentTime
を実装します。 initializeWithContentPlayhead:self
を使用するようにIMAAdsManager
初期化呼び出しを変更します。
- IMAAdsManagerDelegate は、ミッドロール挿入点の再生中にコンテンツを一時停止または再開するために使用されます。
注: コンテンツの再生が終了した場合、またはユーザーが再生を停止した場合は、コンテンツの再生が完了したことを SDK に伝えるために、IMAAdsLoader
で contentComplete
を呼び出してください。その後、SDK はポストロールミッドロール挿入点を再生します(スケジュール設定されている場合)。
ALL_ADS_COMPLETED
イベントは、すべての広告ブレークが再生されると発生します。また、コンテンツのトラッキングは IMAAdsManager
の initializeWithContentPlayhead:adsRenderingSettings
メソッドが呼び出されると開始され、コンテンツを再生する前に必ず initializeWithContentPlayhead:adsRenderingSettings
を呼び出す必要があります。