Anuncios complementarios

Esta guía está dirigida a los publicadores interesados en agregar anuncios complementarios a su implementación de IMA en 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.

Aspectos básicos útiles

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

Agregue anuncios complementarios a su aplicación

Cómo crear un ViewGroup para mostrar tu complementario

Antes de solicitar una complementaria, debes crear un espacio para ella en tu diseño. En tu 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 te integras a la app BasicExample, agrega esto a activity_my.xml debajo de com.google.android.exoplayer2.ui.PlayerView.

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

Cómo crear un CompanionAdSlot

El siguiente paso es compilar un objeto CompanionAdSlot, que luego se agrega a un ArrayList<CompanionAdSlot>. AdDisplayContainer toma una lista de espacios publicitarios 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 para cada tamaño de anuncio complementario que quieras mostrar en tu aplicación. El SDK de IMA propaga el espacio publicitario complementario con los anuncios complementarios de la respuesta de VAST que tengan dimensiones que coincidan con la altura y el ancho de la vista. El SDK de IMA también admite el uso de complementarios de tamaño flexible. Una vez que creaste los companionAdSlots, debían agregarse a AdsLoader. En los siguientes ejemplos, se muestra cómo hacerlo en función de si usas BasicExample de IMA, que usa la extensión Exoplayer-IMA o alguna otra implementación de IMA que no usa 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.

Anuncios complementarios flexibles de Display

El IMA ahora admite anuncios complementarios fluidos. Se puede cambiar el tamaño de estos anuncios complementarios para que coincidan con el tamaño del espacio publicitario. Rellenan el 100% del ancho de la vista superior y, luego, cambian su altura para adaptarse al contenido del elemento complementario. Se establecen mediante el tamaño complementario Fluid en Ad Manager. Consulta la siguiente imagen para saber dónde establecer 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 a fin de ofrecer complementos fluidos

Puedes declarar un espacio complementario flexible actualizando 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 anuncios complementarios. ¿Qué debo hacer?
Primero, verifica que tu etiqueta realmente muestre complementarios. Para ello, abre la etiqueta en un navegador web y busca una etiqueta de CompanionAds. Si eso es así, asegúrate de que el tamaño del elemento complementario que se muestra sea del mismo tamaño que las dimensiones que estás pasando al objeto CompanionAdSlot.
¿Cómo se verá el espacio publicitario de mi anuncio complementario cuando sigo esta guía?
La siguiente imagen se creó a partir de BasicExample y muestra el video de contenido en la parte superior con el anuncio complementario que figura a continuación.

Imagen de ejemplo de anuncio complementario de IMA para Android.