Cómo configurar el acceso directo para 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 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 aplicación 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 con 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 desde 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 diagonal al final en tu app en lugar de un ID de unidad de anuncios.

Por ejemplo, para cargar un anuncio de banner, coloca un AdManagerAdView en el diseño para el 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 al final del código de la propiedad web de Ad Exchange, como se muestra más arriba, se producirá un error de solicitud de anuncio con el siguiente mensaje:

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

Ten en cuenta también que puedes convertir un código de propiedad web de Ad Exchange en una unidad de anuncios. Después, 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 la propiedad web de Ad Exchange, seguido de los IDs de unidad de anuncios secundarios sin una barra diagonal al final, por ejemplo:ca-mb-app-pub-5629679302779023/banner

Como alternativa, puedes crear un AdManagerAdView de manera programática:

AdManagerAdView adView = new AdManagerAdView(this);

adView.setAdSizes(AdSize.BANNER);
adView.setAdUnitId("ca-mb-app-pub-5629679302779023/");

// TODO: Add adView to your view hierarchy.
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 se implemente AdManagerAdView, puedes llamar al método loadAd() en la clase AdManagerAdView y personalizar el comportamiento de tu anuncio con eventos de anuncios.

Eso es todo. Tu app ya está lista para cargar y mostrar anuncios gráficos de Ad Exchange.

Además, puedes usar una propiedad web de Ad Exchange para cargar y mostrar otros formatos de anuncios de Ad Exchange. Para ello, sigue 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, puedes 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 micrones y la moneda predeterminada de tu red. Ejemplo de cómo se aplican los micros: si tu moneda predeterminada es USD, ingresar "6000000" equivale a USD 6.00.

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();
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();