添加了随播广告支持

选择平台HTML5 Android iOS

本指南适用于有兴趣向 Android IMA 实现添加随播广告的发布商。

前提条件

  • 已集成 IMA SDK 的 Android 应用。如果您还没有集成 SDK 的应用,请参阅 BasicExample。如果您需要有关在应用中实现 IMA SDK 的帮助,请参阅 设置 IMA SDK
  • 配置为返回随播广告的广告代码。如果您需要示例,请参阅我们的 常见问题解答

向应用添加随播广告

请按照以下步骤在应用中添加随播广告位并展示随播广告。

创建 ViewGroup 以展示随播广告

在请求随播广告之前,您需要在您的 布局中为其创建空间。在布局 XML 中,添加 ViewGroup 元素;此示例使用 a LinearLayout。在后续步骤中,您将向 您的 AdDisplayContainer 传递对此元素的引用。

如果您要 集成到 BasicExample 应用中,请将此代码添加到 activity_my.xml 文件中的 videoPlayerContainer 下方。

<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 对象。

public void createCompanionAdSlot(ViewGroup companionViewGroup) {
  ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
  CompanionAdSlot companionAdSlot = sdkFactory.createCompanionAdSlot(companionViewGroup);
  companionAdSlot.setSize(300, 250);
  ArrayList<CompanionAdSlot> companionAdSlots = new ArrayList<CompanionAdSlot>();
  companionAdSlots.add(companionAdSlot);
}

为应用中要展示的每种尺寸的随播广告创建一个随播广告位。IMA SDK 会使用 VAST 响应中尺寸与视图的高度和宽度匹配的任何随播广告填充随播广告位。IMA SDK 还支持使用 自适应尺寸的随播广告。 创建 companionAdSlots 后,将其添加到 AdsLoader。以下示例展示了如何执行此操作,具体取决于您使用的是 Exoplayer-IMA 扩展程序 ,还是其他不使用该扩展程序的 IMA 实现。

Exoplayer-IMA 扩展程序

public void setCompanionAdSlotExoPlayer(
    Context context, ArrayList<CompanionAdSlot> companionAdSlots) {
  ImaAdsLoader adsLoader =
      new ImaAdsLoader.Builder(context).setCompanionAdSlots(companionAdSlots).build();
}

其他实现

public void setCompanionAdSlot(
    AdDisplayContainer adDisplayContainer, ArrayList<CompanionAdSlot> companionAdSlots) {
  adDisplayContainer.setCompanionSlots(companionAdSlots);
}

这就是您要执行的全部操作!您的应用现在会展示随播广告。

展示自适应随播广告

IMA 支持自适应随播广告。这些随播广告可以调整大小以匹配广告位的 尺寸。它们会填充父视图宽度的 100%,然后调整 高度以适应随播广告的内容。它们是在 Ad Manager 中使用 Fluid 随播广告尺寸设置的。如需了解在何处设置 此值,请参阅下图。

图片:显示 Ad Manager 的随播广告设置。突出显示“随播广告素材尺寸”选项。

更新 Android 应用以支持自适应随播广告

您可以通过更新 CompanionAdSlot.setSize() 方法来声明自适应随播广告位,使其将 CompanionAdSlot.FLUID_SIZE 作为两个参数。

companionAdSlot.setSize(CompanionAdSlot.FLUID_SIZE, CompanionAdSlot.FLUID_SIZE);

常见问题解答

我按照本指南操作,但没有看到随播广告。该怎么做?
首先,请检查以确保您的代码确实返回了随播广告。为此,请在网络浏览器中打开该代码,然后查找 <CompanionAds> 代码。如果您看到该代码,请检查以确保返回的随播广告的尺寸与您传递到 CompanionAdSlot对象中的尺寸相同。
按照本指南操作后,我的随播广告位会是什么样子?

下图是根据 BasicExample 创建的,其中内容视频在顶部播放,随播广告在下方展示。

IMA Android 随播广告示例图片。