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.
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>
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.
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()); }
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 |
| 320 x 50 | Este banner es la opción idónea para teléfonos. |
Banner grande |
| 320 x 90 | Este banner es la opción idónea para tabletas y dispositivos de mayor tamaño. |
Rectángulo medio |
| 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. |
Examina nuestros ejemplos de código de Audience Network para Android en GitHub. Importa los proyectos a tu IDE y ejecútalos en un dispositivo o en el emulador.
Cuando estés listo para publicar tu aplicación y monetizarla, envíala a revisión tras asegurarte de que cumpla la Política de Audience Network y las Normas comunitarias de Facebook.