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 del IMA de 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.
  • Es una etiqueta de anuncio configurada para mostrar un anuncio complementario.

Recursos ú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 compañero

Antes de solicitar un compañero, 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 de BasicExample, agrega esto 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 espacios para 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 complemento que desees mostrar en tu app. El SDK de IMA completa el espacio publicitario complementario con cualquier complemento 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 hayas creado el companionAdSlots, deberás agregarlo al AdsLoader. En los siguientes ejemplos, se muestra cómo hacerlo según si usas el IMA Android BasicExample, que usa la extensión de 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! Ahora tu aplicación muestra anuncios complementarios.

Mostrar anuncios gráficos complementarios flexibles

IMA ahora 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 principal y, luego, cambian su altura para adaptarse al contenido del compañero. Se configuran con el tamaño del anuncio 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 para que funcionen con los complementos fluidos

Puedes declarar un espacio complementario fluido 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 complementos. Para ello, abre la etiqueta en un navegador web y busca una etiqueta CompanionAds. Si ves eso, verifica que el tamaño del compañero que se devuelve sea el mismo que las dimensiones que pasas al objeto CompanionAdSlot.
¿Cómo se verá mi espacio publicitario de anuncio complementario cuando siga esta guía?
La siguiente imagen se creó a partir de BasicExample y muestra el video de contenido que se reproduce arriba con el anuncio complementario abajo.

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