隨播廣告

本指南適用於想要在 Android IMA 導入中加入隨播廣告的發布商。

必要條件

  • 整合 IMA SDK 的 Android 應用程式。如果您尚未將應用程式與 SDK 整合,請參閱 BasicExample
  • 設定為傳回隨播廣告的廣告代碼。

實用的入門課程

如果您仍需在應用程式中導入 IMA SDK,請參閱入門指南

在應用程式中新增隨播廣告

建立 ViewGroup 來顯示隨播廣告

要求隨播廣告之前,您必須先在版面配置中建立空間,在版面配置 XML 中新增 ViewGroup 元素,這個範例使用 LinearLayout。在後續步驟中,您會將此元素的參照傳遞至 AdDisplayContainer。如果要整合 BasicExample 應用程式,請將其新增至 com.google.android.exoplayer2.ui.PlayerView 下方的 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 會取得隨播廣告版位清單,方便您一次顯示多個隨播廣告。您必須建立 ImaSdkFactory 的執行個體,才能建立 CompanionAdSlot

  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 也支援使用自動調整大小的隨播廣告。建立 companionAdSlots 後,必須將其新增至 AdsLoader。以下範例顯示如何根據您使用的是 IMA Android 基本範例 (使用 Exoplayer-IMA 擴充功能),還是其他未使用擴充功能的 IMA 導入方式,瞭解如何執行這項作業。

BasicExample

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

其他實作資訊

adsLoader.getAdDisplayContainer().setCompanionSlots(companionAdSlots);

這就是所有訣竅了!您的應用程式現在會顯示隨播廣告。

顯示流動隨播廣告

IMA 現在支援自動調整隨播廣告。這些隨播廣告可以根據廣告版位的大小調整尺寸。可填滿上層檢視畫面寬度的 100%,然後根據夥伴的內容調整高度。在 Ad Manager 中使用 Fluid 隨播廣告大小進行設定。請參閱下圖,瞭解如何設定這個值。

顯示 Ad Manager 隨播廣告設定的圖片。醒目顯示隨播廣告大小選項。

更新適用於自動調整隨附裝置的 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 隨播廣告範例圖片。