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
- Completa los requisitos.
- Configura tu app para el SDK de anuncios de Google para dispositivos móviles.
Configura tu app 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". 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 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 diagonal final en lugar de un ID de bloque de anuncios. Por ejemplo, ca-mb-app-pub-5629679302779023/.
En el siguiente ejemplo, se agrega el código de propiedad web de Ad Exchange a una solicitud de anuncio de banner:
Kotlin
val adRequest = BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/", AdSize.BANNER).build()
BannerAd.load(
adRequest,
object : AdLoadCallback<BannerAd> {
override fun onAdLoaded(ad: BannerAd) {
bannerAd = ad
activity?.runOnUiThread {
binding.bannerViewContainer.addView(ad.getView(requireActivity()))
}
}
}
)
Java
BannerAdRequest adRequest = new BannerAdRequest.Builder("ca-mb-app-pub-5629679302779023/",
AdSize.BANNER).build();
BannerAd.load(
adRequest,
new AdLoadCallback<BannerAd>() {
@Override
public void onAdLoaded(@NonNull BannerAd ad) {
bannerAd = ad;
runOnUiThread(
() -> binding.bannerViewContainer.addView(ad.getView(MainActivity.this)));
}
});
Ten en cuenta que, si no agregas una barra diagonal final al código de propiedad web de Ad Exchange, se producirá un error en la solicitud de anuncio y se mostrará 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 un bloque 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 propiedad web de Ad Exchange, seguido
de los IDs de bloque 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" feature.
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. Un ejemplo de cómo se aplican los micrones es que, si tu moneda predeterminada es USD y especificas "6,000,000", el importe equivale a USD 6.00.
Kotlin
val extras = Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
val request = AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
.setGoogleExtrasBundle(extras)
.build();
Java
Bundle extras = new Bundle();
// Public floor parameter.
extras.putString("pubf", "123");
// Private floor parameter.
extras.putString("pvtf", "123");
AdRequest request = new AdRequest.Builder("ca-mb-app-pub-5629679302779023/")
.setGoogleExtrasBundle(extras)
.build();