Si al ejecutar la aplicación en nuestro dispositivo o emulador aparece el mensaje ‘Ad is already loaded’ es porque tiene problemas al cargar el anuncio que hemos solicitado a Admob.
Esto ocurre porque se solicita el anuncio una vez y al solicitarlo por segunda vez falla.
const reward = async () => { await AdMobRewarded.setAdUnitID('id_anuncios'); try { await AdMobRewarded.requestAdAsync(); await AdMobRewarded.showAdAsync(); } catch (error) { console.log(error) } }
Para solucionarlo utilizamos el siguiente código, que volverá a sincronizar el anuncio de nuevo para evitar que ocurra.
setTimeout(() => { AdMobInterstitial.dismissAdAsync(); }, 1500);
o
setTimeout(() => { AdMobRewarded.dismissAdAsync(); }, 1500);
Quedando el código de la siguiente forma:
const reward = async () => { await AdMobRewarded.setAdUnitID('id_anuncios'); try { await AdMobRewarded.requestAdAsync(); await AdMobRewarded.showAdAsync(); } catch (error) { console.log(error) } setTimeout(() => { AdMobRewarded.dismissAdAsync(); }, 1500); }
De esta forma ya no aparecerá el mensaje de error y aparecerá el anuncio que queremos.
Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.