Cómo forzar Admob para refrescar en Android
Pregunta
Tengo una aplicación con anuncios de AdMob en él pero me parece que cuando lo uso el anuncio casi nunca se refresca porque yo no cambio las actividades, en lugar de eso simplemente actualizar una vista de texto cuando se pulsan los botones. He intentado buscar este en Google, pero mantener comming corto.
Me gustaría decirle a la aplicación para actualizar el complemento de vez en cuando, por ejemplo después de dos clics de botón o algo por el estilo. ¿Alguien sabe cómo hacer esto y, potencialmente, tener un código de ejemplo para ello?
Solución
Con el nuevo SDK ahora es:
AdView.loadAd(new AdRequest());
Otros consejos
versión antigua API:
AddView.requestFreshAd()
Nueva versión de la API:
AdView.loadAd(new AdRequest())
Además, puede simplemente establecer un intervalo de actualización con el atributo refreshInterval
en el elemento AdView en el archivo XML de diseño. O puede establecer la RefreshInterval de los anuncios en su aplicación a través de la configuración de su cuenta en el sitio de AdMob.
Documentación: http://code.google.com/mobile/ads/docs /android/intermediate.html#adrefresh
Como alternativa también se puede tener anuncios de actualización de AdMob para que a intervalos de tiempo que usted especifique. En Admob vaya a "Sitios y aplicaciones", a continuación, haga clic en "Gestión de la configuración" para la aplicación que desea. A continuación, haga clic en "configuración de la aplicación". Allí, bajo "Actualización automática" puede cambiar la frecuencia de actualización para los anuncios en su aplicación.
EDIT: con la nueva interfaz de AdMob está bajo Monetizar> Mi nombre de la aplicación> Agregar Mi Nombre de la unidad> Frecuencia de actualización (gracias ripegooseberry)
En la nueva versión Api Constuctor AdRequest()
es privada; usted tiene que utilizar
AdRequest.Builder
clase:
mAdView.loadAd(new AdRequest.Builder().build())
declarar adView en actividad como miembro de datos, a continuación, crear Task Timer tan abajo en su constructor de la actividad
adView = (AdView) findViewById(R.id.adView);
TimerTask tt = new TimerTask() {
@Override
public void run() {
MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
adView.loadAd(new AdRequest());
}
});
}
};
Timer t = new Timer();
t.scheduleAtFixedRate(tt, 0, 1000 * 60);
//New AdRequest
ScheduledExecutorService scheduleTaskExecutor = Executors.newScheduledThreadPool(5);
scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() {
public void run() {
runOnUiThread(new Runnable() {
public void run() {
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
});
}
}, 0, 30, TimeUnit.SECONDS);