Añadir banners publicitarios y anuncios de rectángulo medio a una aplicación para Android

Audience Network te permite monetizar tus aplicaciones para Android con anuncios de Facebook. En esta guía se explica cómo añadir banners publicitarios y anuncios de rectángulo medio a una aplicación.

You can change placements in Monetization Manager to the Medium Rectangle format if these were previously configured as Banner for bidding. Similarly, for any new medium rectangle placements, navigate to the placement settings page in Monetization Manager and select Medium Rectangle (not Banner).

Placements will deliver as normal even if they are not changed to the medium rectangle format. However, to avoid confusion, we recommend that you change these placements to medium rectangle.

Si te interesan otras clases de anuncios, también puedes consultar la lista de los tipos de anuncios disponibles.

Antes de continuar, asegúrate de haber completado las guías de configuración de Android.

Pasos para añadir anuncios publicitarios y de rectángulo medio

Paso 1: Añadir un contenedor de diseño para el banner publicitario

Paso 2: Implementar el banner en tu actividad

Paso 3: Añadir un oyente del anuncio

Paso 1: Añadir un contenedor de diseño para el banner publicitario

En el archivo de diseño (por ejemplo: /res/layout/activity_main.xml), añade un diseño que actuará como contenedor para el anuncio.
Recuerda el identificador que definas aquí, ya que más adelante harás referencia a él en el código.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
...
>
...
<LinearLayout
android:id="@+id/banner_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
/>
...
</RelativeLayout>

Paso 2: Implementar el banner en tu actividad

Añade el siguiente código en la parte superior de tu actividad para importar el SDK de anuncios de Facebook:

import com.facebook.ads.*;

A continuación, crea una instancia de un objeto AdView y haz una solicitud para cargar un anuncio. Como AdView es una subclase de View, puedes añadirla a la jerarquía de visualización del mismo modo que con cualquier otra visualización:

private AdView adView;

@Override
public void onCreate(Bundle savedInstanceState) {
...
// Instantiate an AdView object. 
// NOTE: The placement ID from the Facebook Monetization Manager identifies your App.
// To get test ads, add IMG_16_9_APP_INSTALL# to your placement id. Remove this when your app is ready to serve real ads.

adView = new AdView(this, "IMG_16_9_APP_INSTALL#YOUR_PLACEMENT_ID", AdSize.BANNER_HEIGHT_50);

// Find the Ad Container
LinearLayout adContainer = (LinearLayout) findViewById(R.id.banner_container);

// Add the ad view to your activity layout
adContainer.addView(adView);

// Request an ad
adView.loadAd();
}

Si vas a crear una aplicación para tabletas, considera la posibilidad de usar el tamaño AdSize.BANNER_HEIGHT_90 en su lugar. En todos los casos, el ancho de los banners es flexible, con un mínimo de 320 píxeles.

Por último, añade el código siguiente a la función onDestroy() de la actividad para soltar los recursos que usa AdView:

@Override
protected void onDestroy() {
if (adView != null) {
adView.destroy();
}
super.onDestroy();
}

Cuando ejecutes el código anterior, deberías ver un resultado con un aspecto similar a este:



Si usas el emulador predeterminado de Android de Google, debes añadir esta línea de código antes de cargar un anuncio de prueba:
AdSettings.addTestDevice("HASHED ID");.

Utiliza el identificador con hash que figura en el logcat la primera vez que realices una solicitud para cargar un anuncio en un dispositivo.

Este paso no es necesario si se utiliza el emulador Genymotion o dispositivos físicos. Si quieres realizar pruebas con anuncios reales, consulta nuestra guía para pruebas.

Paso 3: Añadir un oyente del anuncio

Ahora que ya tienes el código básico en ejecución, puedes definir un AdListener en AdView para escuchar eventos determinados:

import android.widget.Toast;
...

protected void onCreate(Bundle savedInstanceState) {
...
AdListener adListener = new AdListener() {
@Override
public void onError(Ad ad, AdError adError) {
// Ad error callback
Toast.makeText(
MainActivity.this,
"Error: " + adError.getErrorMessage(),
Toast.LENGTH_LONG)
.show();
}

@Override
public void onAdLoaded(Ad ad) {
// Ad loaded callback
}

@Override
public void onAdClicked(Ad ad) {
// Ad clicked callback
}

@Override
public void onLoggingImpression(Ad ad) {
// Ad impression logged callback
}
};

// Request an ad
adView.loadAd(adView.buildLoadAdConfig().withAdListener(adListener).build());
}

Tamaños del banner publicitario

Audience Network admite tres tamaños de anuncio en tu AdView. El ancho de los banners es flexible, con un mínimo de 320 píxeles, y solo debe definirse la altura.

Formato del anuncio Referencia de AdSize Tamaño Recomendación

Banner estándar

BANNER_50

320 x 50

Este banner es la opción idónea para teléfonos.

Banner grande

BANNER_90

320 x 90

Este banner es la opción idónea para tabletas y dispositivos de mayor tamaño.

Rectángulo medio

RECTANGLE_HEIGHT_250

300 x 250

Este formato es la opción idónea para secciones de noticias por las que sea posible desplazarse y pantallas de fin de nivel.

Siguientes pasos