このガイドは、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 実装の違いを示しています。
adsLoader = new ImaAdsLoader.Builder(this).setCompanionAdSlots(companionAdSlots).build();
adsLoader.getAdDisplayContainer().setCompanionSlots(companionAdSlots);
これで操作は完了です。これで、アプリにコンパニオン広告が表示されます。
フレキシブル コンパニオン広告を表示する
IMA で Fluid サイズのコンパニオン広告がサポートされるようになりました。これらのコンパニオン広告は、広告スロットのサイズに合わせてサイズを変更できます。親ビューの幅の 100% を占有し、コンパニオンのコンテンツに合わせて高さを変更します。アド マネージャーで Fluid
コンパニオン サイズを使用して設定します。この値を設定する場所については、次の画像をご覧ください。
![アド マネージャーのコンパニオン広告の設定を示す画像。コンパニオンのサイズ オプションがハイライト表示されています。](https://developers.google.cn/static/interactive-media-ads/images/ad_manager_fluid_companion.png?authuser=002&hl=ja)
フロー コンパニオン向けに Android アプリを更新する
CompanionAdSlot.FLUID_SIZE
を両方のパラメータとして受け取るように CompanionAdSlot.setSize()
メソッドを更新すると、フレキシブル コンパニオン スロットを宣言できます。
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
から作成されたもので、上部にコンテンツ動画が再生され、下部にコンパニオン広告が表示されています。