広告のルール

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 なしの場合:

    1. IMAContentPlayhead インターフェースを実装します。
    2. 動画プレーヤーの現在の時刻を返す currentTime を実装します。
    3. initializeWithContentPlayhead:self を使用するように IMAAdsManager 初期化呼び出しを変更します。
  • IMAAdsManagerDelegate は、ミッドロール挿入点の再生中にコンテンツを一時停止または再開するために使用されます。

注: コンテンツの再生が終了した場合、またはユーザーが再生を停止した場合は、コンテンツの再生が完了したことを SDK に伝えるために、IMAAdsLoadercontentComplete を呼び出してください。その後、SDK はポストロールミッドロール挿入点を再生します(スケジュール設定されている場合)。 ALL_ADS_COMPLETED イベントは、すべての広告ブレークが再生されると発生します。また、コンテンツのトラッキングは IMAAdsManagerinitializeWithContentPlayhead:adsRenderingSettings メソッドが呼び出されると開始され、コンテンツを再生する前に必ず initializeWithContentPlayhead:adsRenderingSettings を呼び出す必要があります。