このガイドは、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
から作成されたもので、コンテンツ動画が上に再生され、コンパニオン広告が下に表示されています。