Errores de carga de anuncios

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:

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.
  • Revisa la configuración de Internet.
  • Quita android:sharedUserId="android.uid.system" e instala la app como app del sistema.
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.
  • Diagnostica qué adaptadores no puede encontrar el SDK de anuncios de Google para dispositivos móviles en Ver los adaptadores disponibles en el inspector de anuncios.
  • Agrega los adaptadores que faltan a tu proyecto. Si deseas leer las instrucciones para completar este paso para cada fuente del anuncio, consulta Detalles de la red.