El SDK de anuncios de Google para dispositivos móviles admite la monetización de tus aplicaciones con una propiedad de Ad Exchange. En esta guía, se muestra cómo configurar tus aplicaciones para todos los formatos de anuncio compatibles con Ad Exchange.
Requisitos previos
- Completa los requisitos.
- Configura tu aplicación para el SDK de anuncios de Google para dispositivos móviles.
Configura tu aplicación para acceder a Ad Exchange
Agrega el ID de tu app de Ad Manager (disponible en la IU de Ad Manager) al archivo AndroidManifest.xml de tu app a través de una etiqueta <meta-data>
con android:name="com.google.android.gms.ads.APPLICATION_ID"
. En android:value
, inserta tu propio ID de app de Ad Manager, entre comillas.
<manifest>
<application>
<!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
</application>
</manifest>
Ten en cuenta también que, si no agregas la etiqueta <meta-data>
como se muestra arriba, se producirá una falla y se mostrará el siguiente mensaje:
Missing application ID.
A continuación, puedes inicializar el SDK de anuncios de Google para dispositivos móviles y seleccionar un formato de anuncio para mostrar. En el resto de esta guía, se implementa el formato de banner para ilustrar cómo puedes cargar un anuncio de Ad Exchange. Los mismos pasos se pueden aplicar a cualquier formato de anuncio compatible con el SDK de anuncios de Google para dispositivos móviles.
Carga un anuncio de Ad Exchange
Puedes usar un código de propiedad web de Ad Exchange con una barra invertida final en lugar de un ID de bloque de anuncios. Por ejemplo, ca-mb-app-pub-5629679302779023/
.
Por ejemplo, para cargar un anuncio de banner colocando un AdManagerAdView
en el diseño del Activity
, haz lo siguiente:
# main_activity.xml
...
<com.google.android.gms.ads.admanager.AdManagerAdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adManagerAdView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="ca-mb-app-pub-5629679302779023/">
</com.google.android.gms.ads.admanager.AdManagerAdView>
Como alternativa, puedes crear una jerarquía de vistas de manera programática:
Java
AdManagerAdView adView = new AdManagerAdView(this);
adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");
// TODO: Add adView to your view hierarchy.
Kotlin
val adView = AdManagerAdView(this)
adView.adSizes = AdSize.BANNER
adView.adUnitId = "ca-mb-app-pub-5629679302779023/"
// TODO: Add adView to your view hierarchy.
Una vez que la clase AdManagerAdView
esté en su lugar, puedes llamar al método loadAd()
en la clase AdManagerAdView
y personalizar el comportamiento de tu anuncio con eventos de anuncios.
Ten en cuenta que, si no agregas una barra diagonal final al código de la propiedad web de Ad Exchange, se producirá un error en la solicitud de anuncio con el siguiente mensaje:
Invalid Request. Cannot determine request type. Is your ad unit id correct?
También puedes convertir un código de propiedad web de Ad Exchange en una unidad de anuncios.
Luego, usa la IU de Ad Manager para generar una etiqueta de Ad Exchange y cópiala en tu app. La etiqueta generada debe tener el código de la propiedad web de Ad Exchange, seguido de los IDs de los bloques de anuncios descendientes sin una barra diagonal final, por ejemplo: ca-mb-app-pub-5629679302779023/banner
.
Eso es todo. Tu app ya está lista para cargar y mostrar anuncios de banner de Ad Exchange.
Además, puedes usar una propiedad web de Ad Exchange para cargar y mostrar otros formatos de anuncios de Ad Exchange siguiendo las guías correspondientes:
Agrega precios mínimos (solo para publicadores europeos aprobados)
Puedes enviar una solicitud para acceder a la función de "Precios mínimos".
Una vez que se apruebe, podrás incluir un precio mínimo público o privado en la solicitud de anuncio con los parámetros pubf
y pvtf
, respectivamente. En el siguiente ejemplo de código, reemplaza "123" por los precios mínimos en micros y la moneda predeterminada de tu red. Ejemplo de cómo se aplican los micros: Si tu moneda predeterminada es el USD, ingresar "6000000" equivale a USD 6.00.
Java
Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
AdManagerAdRequest request = new AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
Kotlin
val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
val request = AdManagerAdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter::class::java, extras)
.build();