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

  • Una 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 Configura el SDK de IMA.
  • Es una etiqueta de anuncio configurada para devolver un anuncio complementario. Si necesitas un ejemplo, consulta nuestras Preguntas frecuentes.

Agrega anuncios complementarios a tu app

Sigue estos 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 tu 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 de BasicExample, agrega esto al archivo activity_my.xml, 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" />

Cómo crear 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 completa 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 el companionAdSlots, agrégalo al AdsLoader. En los siguientes ejemplos, se muestra cómo hacerlo según si usas la extensión de ExoPlayer-IMA o bien otras implementaciones de IMA que no usan la extensión.

Extensión de 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! Tu aplicación ahora muestra anuncios complementarios.

Muestra anuncios complementarios flexibles

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

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

Actualiza las apps para Android para que funcionen como complementos fluidos

Para declarar un espacio de anuncio complementario flexible, actualiza el método 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 devuelva anuncios complementarios. Para ello, abre la etiqueta en un navegador web y busca una etiqueta <CompanionAds>. Si ves eso, asegúrate de que el tamaño del anuncio complementario que se devuelve sea el mismo que el de 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 BasicExample y tiene 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.