Agrega compatibilidad con anuncios complementarios

Selecciona la plataforma: HTML5 Android iOS

Esta guía está dirigida a los publicadores que desean agregar anuncios complementarios a su implementación de IMA para Android.

Requisitos previos

  • Aplicación para Android con el SDK de IMA integrado. Consulta el BasicExample si aún no tienes una app con el SDK integrado. Si necesitas ayuda para implementar el SDK de IMA en tu app, consulta Cómo configurar el SDK de IMA.
  • Una etiqueta de anuncio configurada para mostrar un anuncio complementario. Si necesitas un ejemplo, consulta nuestras Preguntas frecuentes.

Agrega anuncios complementarios a tu app

Sigue los pasos para agregar un espacio publicitario complementario y mostrar anuncios complementarios en tu app.

Crea un ViewGroup para mostrar tu anuncio complementario

Antes de solicitar un anuncio complementario, debes crear un espacio para él en tu diseño. En el XML de diseño, agrega un elemento ViewGroup. En este ejemplo, se usa un LinearLayout. En un paso posterior, pasarás una referencia a este elemento a tu AdDisplayContainer.

Si realizas la integración en la app BasicExample, agrega esto al activity_my.xml archivo, debajo de 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" />

Crea un CompanionAdSlot

El siguiente paso es compilar un objeto CompanionAdSlot, que luego se agrega a una instancia de ArrayList<CompanionAdSlot>. La interfaz AdDisplayContainer toma una lista de espacios publicitarios complementarios para que puedas mostrar varios anuncios complementarios a la vez. Debes crear una instancia de la clase ImaSdkFactory para crear el objeto 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);
}

Crea un espacio publicitario complementario para cada tamaño de anuncio complementario que quieras mostrar en tu app. El SDK de IMA propaga el espacio publicitario complementario con cualquier anuncio complementario de la respuesta de VAST que tenga dimensiones que coincidan con la altura y el ancho de la vista. El SDK de IMA también admite el uso de anuncios complementarios de tamaño flexible. Una vez que crees los companionAdSlots, agrégalos al AdsLoader. En los siguientes ejemplos, se muestra cómo hacerlo según si usas la extensión Exoplayer-IMA o si usas otras implementaciones de IMA que no usan la extensión.

Extensión Exoplayer-IMA

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

Otras implementaciones

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

¡Esto es todo lo que hay sobre este tema! Ahora tu aplicación muestra anuncios complementarios.

Muestra anuncios complementarios flexibles

IMA admite anuncios complementarios flexibles. Estos anuncios complementarios pueden cambiar de tamaño para que coincidan con el tamaño del espacio publicitario. Ocupan el 100% del ancho de la vista superior y, luego, cambian su altura para que se ajuste al contenido del anuncio complementario. Se configuran con el tamaño de anuncio complementario Fluid en Ad Manager. Consulta la siguiente imagen para saber dónde configurar este valor.

Imagen que muestra la configuración de anuncios complementarios de Ad Manager. Destaca la opción de tamaños complementarios.

Actualiza las apps para Android para los anuncios complementarios flexibles

Para declarar un espacio publicitario complementario flexible, actualiza el CompanionAdSlot.setSize() para que tome CompanionAdSlot.FLUID_SIZE como ambos parámetros.

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

Preguntas frecuentes

Seguí la guía, pero no veo anuncios complementarios. ¿Qué debo hacer?
Primero, verifica que tu etiqueta realmente muestre anuncios complementarios. Para ello, abre la etiqueta en un navegador web y busca una etiqueta <CompanionAds>. Si la ves, asegúrate de que el tamaño del anuncio complementario que se muestra sea el mismo que las dimensiones que pasas al objeto CompanionAdSlot.
¿Cómo se verá mi espacio publicitario complementario cuando siga esta guía?

La siguiente imagen se creó a partir de los BasicExample y muestra el video de contenido que se reproduce en la parte superior con el anuncio complementario debajo.

Imagen de ejemplo de un anuncio complementario de IMA para Android.