Cómo precargar el anuncio intersticial de AdMob y enviarlo a otra actividad de android utilizando la intención

Necesito ayuda sobre el anuncio intersticial de AdMob.

Quiero precargar el anuncio intersticial en una actividad. Esto es sencillo.

// Create an ad. interstitialAd = new InterstitialAd(this); interstitialAd.setAdUnitId(AD_UNIT_ID); AdRequest adRequest = new AdRequest.Builder() .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) .addTestDevice(TEST_DEVICE_ID).build(); // Load the interstitial ad. interstitialAd.loadAd(adRequest); 

Ahora quiero enviar el anuncio intersticial a otra actividad usando la intención. No sé cómo enviarlo usando

 intent.putExtra("myAd", interstitialAd); 

Gracias por adelantado.

Los anuncios intersticiales no se entienden ni se construyen para ser pasados ​​alrededor de ese modo usando los extras de los intentos.

Es mejor

  • Volver a crear y volver a cargar un anuncio en la siguiente actividad
  • Hacer una clase pública extra que contiene el anuncio intersticial, ponerlo allí en la actividad A y recuperarla desde allí en la actividad B

Ejemplo para el segundo caso (semi pseudo código):

 public class AdManager { // Static fields are shared between all instances. static InterstitialAd ad; public AdManager() { createAd(); } public void createAd() { // Create an ad. interstitialAd = new InterstitialAd(this); interstitialAd.setAdUnitId(AD_UNIT_ID); AdRequest adRequest = new AdRequest.Builder() .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) .addTestDevice(TEST_DEVICE_ID).build(); // Load the interstitial ad. interstitialAd.loadAd(adRequest); } public InterstitialAd getAd() { return ad; } } 

Utilizando

Actividad A

 AdManager adManager = new AdManager(); adManager.createAd(); 

Actividad B

 InterstitialAd ad = admanager.getAd(); if (ad.isLoaded) { ad.show(); } 

InterstitialAd se puede instanciar utilizando cualquier Context para poder instanciarlo (y solicitar un anuncio) durante la subclase onCreate of Application y luego mostrar el anuncio desde cualquier parte de su código.

De esta forma, maximiza las posibilidades de que un anuncio se cargue en el momento en que desea mostrarlo.

Sería una buena práctica usar un AdManager (como se menciona en otra respuesta), pero no es necesario hacerlo.

  • ¿Cuáles son los tipos de intenciones posibles para el tipo de intención.setType?
  • Intent.EXTRA_EMAIL no rellena el campo Para
  • Propósito de envoltura en LabeledIntent para fines de visualización
  • Cómo obtener todos los filtros de intención para la aplicación (con root)
  • BroadcastReceiver cómo iniciar una nueva intención
  • Intentos extras que faltan cuando comenzó la actividad
  • Google Drive + ACTION_GET_CONTENT
  • Cómo obtener getIntent () para devolver null después de Actividad llamada con un conjunto de intenciones
  • Actividad de superusuario no encontrada
  • ¿Cómo borrar correctamente los datos de intenciones de la actividad SingleTop?
  • Dos lanzadores para una sola actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.