En los casos en que un anuncio no se carga, se llama a un método delegado de devolución de llamada que proporciona un objeto LoadAdError
.
Para an AdView
, se llama a lo siguiente:
Java
public void onAdFailedToLoad(LoadAdError adError);
Kotlin
fun onAdFailedToLoad(error: LoadAdError)
Este es un fragmento de código que ilustra la información disponible cuando no se carga un anuncio:
Java
@Override
public void onAdFailedToLoad(LoadAdError error) {
// Gets the domain from which the error came.
String errorDomain = error.getDomain();
// Gets the error code. See
// https://developers.google.com/android/reference/com/google/android/gms/ads/AdRequest#constant-summary
// for a list of possible codes.
int errorCode = error.getCode();
// Gets an error message.
// For example "Account not approved yet". See
// https://support.google.com/admob/answer/9905175 for explanations of
// common errors.
String errorMessage = error.getMessage();
// Gets additional response information about the request. See
// https://developers.google.com/admob/android/response-info for more
// information.
ResponseInfo responseInfo = error.getResponseInfo();
// Gets the cause of the error, if available.
AdError cause = error.getCause();
// All of this information is available using the error's toString() method.
Log.d("Ads", error.toString());
}
Kotlin
override fun onAdFailedToLoad(error: LoadAdError) {
// Gets the domain from which the error came.
val errorDomain = error.domain
// Gets the error code. See
// https://developers.google.com/android/reference/com/google/android/gms/ads/AdRequest#constant-summary
// for a list of possible codes.
val errorCode = error.code
// Gets an error message.
// For example "Account not approved yet". See
// https://support.google.com/admob/answer/9905175 for explanations of
// common errors.
val errorMessage = error.message
// Gets additional response information about the request. See
// https://developers.google.com/admob/android/response-info for more
// information.
val responseInfo = error.responseInfo
// Gets the cause of the error, if available.
val cause = error.cause
// All of this information is available using the error's toString() method.
Log.d("Ads", error.toString())
}
Esta información se puede usar para determinar con mayor precisión qué causó que fallara la carga del anuncio.
En particular, para los errores en el dominio
MobileAds.ERROR_DOMAIN
,
el mensaje
,
puedes buscar en este artículo del Centro de ayuda para obtener una explicación más detallada
y las posibles acciones que se pueden realizar para resolver el
problema.
Cómo depurar mensajes de registro de errores comunes
En la versión 23.5.0 del SDK de anuncios de Google para dispositivos móviles, se mejoró el registro detallado para incluir un seguimiento de pila de dónde no se carga el anuncio. Estos mensajes no indican una falla, sino que identifican la fuente única del error. En la siguiente tabla, se proporcionan registros de errores, descripciones y acciones sugeridas comunes para su resolución:
Registro de errores | Descripción | Acciones sugeridas |
---|---|---|
com.google.android.gms.ads.nonagon.render.cp: * |
El servidor de anuncios no mostró ningún anuncio ni ninguna fuente de anuncios de mediación para solicitar. | Para obtener detalles sobre los problemas de integración comunes de este tipo, consulta Cómo resolver problemas de integración comunes. |
com.google.android.gms.ads.nonagon.render.e: * |
No se pudieron cargar todas las fuentes de anuncios de la cascada de mediación. El error específico representa la última fuente del anuncio que falló. | Para obtener detalles sobre cómo registrar el motivo de la falla de cada fuente de anuncios de mediación, consulta la información de respuesta. |
com.google.android.gms.ads.internal.util.*: Unable to obtain a JavascriptEngine. |
No se pudo completar la solicitud de anuncio porque no se permite WebView en los procesos con privilegios. |
|
No se pudo completar la solicitud de anuncio debido a una conexión de red lenta. | Mejora la conexión a Internet y vuelve a intentarlo. | |
com.google.android.gms.ads.nonagon.load.a |
Se agotó el tiempo de espera de la solicitud de anuncio. | |
com.google.android.gms.ads.internal.util.*: Error while
connecting to ad server: Unable to resolve host "pubads.g.doubleclick.net":
No address associated with hostname |
No se pudo completar la solicitud de anuncio debido a la conectividad de red. | |
com.google.android.gms.ads.internal.util.*: Error building
request URL: Cannot determine request type. Is your ad unit id correct? |
El ID de la unidad de anuncios no coincide con ninguna expresión regular esperada. | Verifica si el ID de tu unidad de anuncios es correcto. |
com.google.android.gms.ads.internal.render.bt: Unable to
instantiate mediation adapter class. |
El SDK de anuncios de Google para dispositivos móviles no puede encontrar el adaptador de mediación. |
|