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
- Si necesitas una muestra, consulta nuestras Preguntas frecuentes.
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.](https://developers.google.cn/static/interactive-media-ads/images/ad_manager_fluid_companion.png?authuser=6&hl=es)
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.