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.
- Quitar la actividad 2 y 3 de la pila trasera al iniciar la actividad 4
- Cómo volver a una actividad específica si las actividades son implementadas por la misma clase
- intentando enviar la intención a otra aplicación: error SecurityException: Negación de permisos: Starting Intent
- ¿Cómo puedo volver a una actividad de padres correctamente?
- Cómo iniciar una nueva actividad en android
// 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.
- Iniciar el nuevo marcador de Hangouts desde un intento
- Cómo abrir la aplicación youtube desde la aplicación android
- Borrar actividad back stack
- Mensaje adicional de intención de Android versus variable estática
- ¿Cómo utilizo la acción de intento USER_PRESENT?
- Lanzamiento de Media Player con intención
- Android startActivity () se estrelló
- ¿Cómo hacer que un botón envíe varias vistas de texto a mi correo electrónico?
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.
- Android – Cómo ocultar la opción de menú para el fragmento actual
- ¿Cómo funciona el seguimiento de la instalación de aplicaciones para Android?