コンパニオン広告のサポートを追加

プラットフォームを選択: HTML5 Android iOS

このガイドは、Android IMA 実装にコンパニオン広告を追加することに関心のあるパブリッシャー様を対象としています。

前提条件

  • IMA SDK が統合された Android アプリケーション。SDK が統合されたアプリがまだない場合は、BasicExample をご覧ください。
  • コンパニオン広告を返すように設定された広告タグ。

役立つ入門ガイド

アプリに IMA SDK を実装する必要がある場合は、スタートガイドをご覧ください。

コンパニオン広告をアプリに追加する

コンパニオンを表示する ViewGroup を作成する

コンパニオンをリクエストする前に、レイアウト内にコンパニオン用のスペースを作成する必要があります。レイアウト XML に ViewGroup 要素を追加します。この例では LinearLayout を使用しています。後のステップで、この要素への参照を AdDisplayContainer に渡します。BasicExample アプリに統合する場合は、videoPlayerContainer の下の activity_my.xml に追加します。

activity_my.xml

<LinearLayout
  android:id="@+id/companionAdSlot"
  android:layout_width="match_parent"
  android:layout_height="250dp"
  android:layout_gravity="center_horizontal"
  android:gravity="center"
  android:orientation="vertical"
  android:textAlignment="center" />

CompanionAdSlot を作成する

次のステップでは、CompanionAdSlot オブジェクトをビルドし、ArrayList<CompanionAdSlot> に追加します。AdDisplayContainer はコンパニオン広告スロットのリストを受け取るため、複数のコンパニオン広告を一度に表示できます。CompanionAdSlot を作成するには、ImaSdkFactory のインスタンスを作成する必要があります。

  ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
  ViewGroup companionViewGroup = (ViewGroup) findViewById(R.id.companionAdSlot);

  CompanionAdSlot companionAdSlot = sdkFactory.createCompanionAdSlot();
  companionAdSlot.setContainer(companionViewGroup);
  companionAdSlot.setSize(300, 250);
  ArrayList<CompanionAdSlot> companionAdSlots = new ArrayList<CompanionAdSlot>();
  companionAdSlots.add(companionAdSlot);

アプリで表示するコンパニオンのサイズごとにコンパニオン広告スロットを作成します。IMA SDK は、ビューの高さと幅に一致するディメンションを持つ VAST レスポンスのコンパニオンをコンパニオン広告スロットに挿入します。IMA SDK は、Fluid サイズのコンパニオンの使用にも対応しています。companionAdSlots を作成したら、AdsLoader に追加する必要があります。次の例は、Exoplayer-IMA 拡張機能を使用する IMA Android BasicExample を使用しているか、拡張機能を使用しない他の IMA 実装を使用しているかに応じて、この処理を行う方法を示しています。

BasicExample

adsLoader = new ImaAdsLoader.Builder(this).setCompanionAdSlots(companionAdSlots).build();

その他の実装

adsLoader.getAdDisplayContainer().setCompanionSlots(companionAdSlots);

これで操作は完了です。これで、コンパニオン広告が表示されるようになりました。

Fluid コンパニオン広告を表示する

IMA で、Fluid サイズのコンパニオン広告がサポートされるようになりました。これらのコンパニオン広告は、広告スロットのサイズに合わせてサイズ変更できます。親ビューの幅いっぱいに表示され、コンパニオンのコンテンツに合わせて高さが調整されます。コンパニオン広告のサイズは、アド マネージャーの Fluid コンパニオン広告のサイズを使用して設定します。この値を設定する場所については、次の画像をご覧ください。

アド マネージャーのコンパニオン広告の設定を示す画像。コンパニオンのサイズ オプションがハイライト表示されています。

流動的なコンパニオンのための Android アプリの更新

CompanionAdSlot.setSize() メソッドを更新して、両方のパラメータとして CompanionAdSlot.FLUID_SIZE を受け取るようにすることで、流動的なコンパニオン スロットを宣言できます。

  ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
  ViewGroup companionViewGroup = (ViewGroup) findViewById(R.id.companionAdSlot);

  CompanionAdSlot companionAdSlot = sdkFactory.createCompanionAdSlot();
  companionAdSlot.setContainer(companionViewGroup);
  companionAdSlot.setSize(CompanionAdSlot.FLUID_SIZE, CompanionAdSlot.FLUID_SIZE);
  ArrayList<CompanionAdSlot> companionAdSlots = new ArrayList<CompanionAdSlot>();
  companionAdSlots.add(companionAdSlot);

よくある質問

ガイドに沿って設定しましたが、コンパニオン広告が表示されません。必要な対策
まず、タグが実際にコンパニオンを返していることを確認します。これを行うには、ウェブブラウザでタグを開き、CompanionAds タグを探します。その場合は、返されるコンパニオンのサイズが CompanionAdSlot オブジェクトに渡しているサイズと同じであることを確認してください。
このガイドに沿ってコンパニオン広告スロットを作成すると、どのような表示になりますか?
下の画像は BasicExample から作成されたもので、コンテンツ動画が上に再生され、コンパニオン広告が下に表示されています。

IMA Android コンパニオン広告の例の画像。