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.
- Si necesitas una muestra, consulta nuestras Preguntas frecuentes.
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.
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.