Anuncios complementarios

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

Requisitos previos

  • Aplicación para Android con el SDK de IMA integrado Consulta BasicExample si aún no tienes una app con el SDK integrado.
  • Una etiqueta de anuncio configurada para mostrar un anuncio complementario

Instructivos útiles

Si aún necesitas implementar el SDK de IMA en tu app, consulta nuestra guía de introducción.

Agrega anuncios complementarios a tu app

Crea un ViewGroup para mostrar tu elemento complementario

Antes de solicitar un elemento 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, agrégalo a activity_my.xml debajo de videoPlayerContainer.

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" />

Crea un CompanionAdSlot

El siguiente paso es compilar un objeto CompanionAdSlot, que luego se agrega a un ArrayList<CompanionAdSlot>. AdDisplayContainer toma una lista de posiciones de anuncios complementarios para que puedas mostrar varios anuncios complementarios a la vez. Deberás crear una instancia de ImaSdkFactory para crear el 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);

Crea un espacio publicitario complementario para cada tamaño de elemento complementario que desees mostrar en tu app. El SDK de IMA propaga el espacio publicitario complementario con cualquier elemento 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 fluido. Una vez que hayas creado el companionAdSlots, deberás agregarlo al AdsLoader. En los siguientes ejemplos, se muestra cómo hacerlo según si usas IMA Android BasicExample, que usa la extensión Exoplayer-IMA, o bien otras implementaciones de IMA que no usan la extensión.

BasicExample

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

Otras implementaciones

adsLoader.getAdDisplayContainer().setCompanionSlots(companionAdSlots);

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

Cómo mostrar anuncios complementarios fluidos

IMA ahora admite anuncios complementarios flexibles. El tamaño de estos anuncios complementarios puede cambiar para que coincida con el tamaño del espacio publicitario. Ocupan el 100% del ancho de la vista superior y, luego, cambian el tamaño de su altura para adaptarse al contenido del elemento complementario. Se configuran con el tamaño complementario Fluid en Ad Manager. Consulta la siguiente imagen para ver dónde configurar este valor.

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

Actualiza las apps para Android para que sean compatibles con los compañeros fluidos

Para declarar un espacio complementario fluido, actualiza el método CompanionAdSlot.setSize() para que tome CompanionAdSlot.FLUID_SIZE como ambos parámetros.

  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);

Preguntas frecuentes

Seguí la guía, pero no veo los anuncios complementarios. ¿Qué debo hacer?
Primero, asegúrate de que tu etiqueta realmente muestre dispositivos complementarios. Para ello, abre la etiqueta en un navegador web y busca una etiqueta de CompanionAds. Si ves eso, asegúrate de que el tamaño del elemento complementario que se muestra sea el mismo que el de las dimensiones que pasas al objeto CompanionAdSlot.
¿Cómo se verá mi espacio publicitario complementario si sigo esta guía?
La siguiente imagen se creó a partir de BasicExample y tiene el video de contenido que se reproduce arriba con el anuncio complementario debajo.

Imagen de ejemplo de anuncio complementario de IMA para Android.