AdMob: mejor rendimiento en la actividad de Android
Tengo una aplicación para Android donde implementé anuncios de AdMob.
Mi código de diseño es muy simple: agregó AdView a LinearLayout:
- ¿Cómo mostrar el anuncio de AdMob en la parte inferior de la pantalla en la aplicación para Android con Xamarin / Monogame?
- Admob, muy mal rellenar
- No se encontró el complemento con id 'com.google.gms.google-services'
- ¿Cómo eliminar o eliminar la aplicación de Android de Admob?
- Google adMob sin ID de unidad (ID de editor de AdMob), solo para pruebas
<com.google.ads.AdView android:id="@+id/adMob1" android:layout_width="wrap_content" android:layout_height="wrap_content" ads:adSize="BANNER" ads:adUnitId="{AdID}" />
En MyActivity en el método onCreate () estoy llamando:
boolean showAdds = true; if(this.showAdds) { AdView adView = (AdView) findViewById(R.id.adMob1); adView.loadAd(new AdRequest()); }
En algunos dispositivos Android más antiguos (probados por ejemplo en Samsung Galaxy S1) después de la implementación de AdMob, la aplicación es muy lenta. Pero cuando pongo la variable "showAdds" a "false" -> la carga de MyActivity es mucho mejor.
¿Hay alguna posibilidad de hacer la aplicación con admob más rápido?
Gracias por todos los comentarios.
- Google Admob para Android: no se encontraron recursos de servicios de Google Play
- Anuncio Android Admob en PreferenceActivity
- Android AdMob provoca fugas de memoria?
- AdMob de Google Play Services realizará desplazamientos automáticos no deseados
- ¿Es contra las reglas de admob colocar dos anuncios en una actividad de la aplicación?
- Los anuncios de Admob no aparecen
- AdMob con Google Play Services: prueba de anuncios: no hay relleno en el servidor de anuncios
- Cómo obtener un anuncio para mostrarlo en la parte inferior de la pantalla sin superposición
Yo también he estado luchando con AdView aumentando el tiempo de carga de la aplicación. Mi solución fue mover el código del anuncio en un controlador de retardo (dentro de onCreate) …
final Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { AdRequest adRequest = new AdRequest.Builder().build(); adView.loadAd(adRequest); adView.bringToFront(); } }, 5000);
Así que ahora la aplicación se inicia rápidamente y después de 5s se carga el anuncio. (Ps .bringToFront se utiliza porque mi diseño de aplicación utiliza una mezcla de XML y código, por lo que esto evita que adView se oculte)
El adView carga una vista web internamente en la primera puesta en marcha. Necesita crear tiendas de galletas, etc. Esto costará hasta 2 segundos. Si carga una vista web antes de que el adView se beneficie de ella (tal vez en su pantalla de inicio).
He encontrado esta sugerencia aquí: https://groups.google.com/forum/#!topic/google-admob-ads-sdk/LdUVIZ2AW6M
Para mejorar el rendimiento, utilice cualquiera de los ads:loadAdOnCreate="true"
en la Implementación XML de su anuncio (Entonces no necesitará llamar a ese código java, todo se hará desde XML)
De lo contrario, puede eliminar los booleanos showadds. Tal vez eso está causando una desaceleración.
He implementado el código sin este código de showadds y funcionan bien en dispositivos inferiores con la adview rápida mostrada.
Más información aquí
Mover su adView initalization en el fondo Thread.
onCreate(){ //..some other stuff Runnable runnableAdView = new Runnable() { @Override public void run() { initAdView(); } }; new Thread(runnableAdView).start(); } private void initAdView() { // Create the adView adView = new AdView(this, AdSize.BANNER, getResources().getString( R.string.admob_id)); // Lookup your LinearLayout assuming its been given LinearLayout layout = (LinearLayout) findViewById(R.id.sound_share_screen_ad_container); // Add the adView to it layout.addView(adView); // Initiate a generic request to load it with an ad AdRequest adRequest = new AdRequest(); //adRequest.addTestDevice(AdRequest.TEST_EMULATOR); //... adView.loadAd(adRequest); }
- La aplicación de ejemplo Android Geofencing sólo funciona si otra aplicación está abierta mediante GPS
- Preguntas sobre la interoperabilidad de lenguajes web en un proyecto de plataforma cruzada