Cómo configurar el acceso directo a Ad Exchange

El SDK de anuncios de Google para dispositivos móviles admite la monetización de tus apps con una propiedad de Ad Exchange. En esta guía, se muestra cómo configurar tus apps para todos los formatos de anuncios compatibles con Ad Exchange.

Requisitos previos

Configura tu app para acceder a Ad Exchange

Agrega el ID de tu app de Ad Manager (identificado en la IU de Ad Manager) al archivo AndroidManifest.xml de la app mediante una etiqueta <meta-data> con android:name="com.google.android.gms.ads.APPLICATION_ID". Para 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>

Además, ten en cuenta que, si no agregas la etiqueta <meta-data> como se muestra más arriba, se producirá una falla con el siguiente mensaje:

Missing application ID.

Luego, puedes inicializar el SDK de anuncios de Google para dispositivos móviles y seleccionar un formato del anuncio para mostrar. En el resto de esta guía, se implementa el formato de banner para ilustrar cómo puedes cargar un anuncio desde Ad Exchange. Se pueden aplicar los mismos pasos a cualquier formato de anuncio compatible con el SDK de anuncios de Google para dispositivos móviles.

Cómo cargar un anuncio de Ad Exchange

En tu app, puedes usar un código de propiedad web de Ad Exchange con una barra diagonal final, en lugar de un ID de unidad de anuncios.

Por ejemplo, para cargar un anuncio de banner, coloca un AdManagerAdView en el diseño del Activity de la siguiente manera:

# 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>

Ten en cuenta que, si no agregas una barra diagonal final al código de propiedad web de Ad Exchange, como se muestra más arriba, se mostrará un error de solicitud de anuncio con el siguiente mensaje:

Invalid Request. Cannot determine request type. Is your ad unit id correct?

Además, tenga en cuenta que puede convertir un código de propiedad web de Ad Exchange en una unidad de anuncios. Luego, puedes usar la IU de Ad Manager para generar una etiqueta de Ad Exchange y copiarla en tu app. La etiqueta generada debe tener el código de propiedad web de Ad Exchange, seguido de los IDs de unidades de anuncios descendientes sin una barra diagonal final, por ejemplo: ca-mb-app-pub-5629679302779023/banner

También puedes crear un AdManagerAdView 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 AdManagerAdView está implementado, puedes llamar al método loadAd() en la clase AdManagerAdView y personalizar el comportamiento de tu anuncio mediante eventos de anuncios.

Listo. La 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:

(Solo para publicadores europeos aprobados) Agregue precios mínimos

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 un precio mínimo privado en la solicitud de anuncio mediante 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 la moneda predeterminada es USD, ingresar "6000000" equivaldrá a $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();