Erreurs de chargement d'annonces

En cas d'échec de chargement d'une annonce, une méthode déléguée de rappel est appelé, ce qui fournit un objet LoadAdError.

Pour an AdView, l'élément suivant est appelé :

Voici un extrait de code qui illustre les informations disponibles lorsqu'une annonce ne parvient pas à se charger :

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())
}

Ces informations peuvent être utilisées pour déterminer plus précisément la cause de l'échec de la diffusion de l'annonce. En particulier, pour les erreurs liées au domaine MobileAds.ERROR_DOMAIN, le message en particulier dans cet article du Centre d'aide pour obtenir une explication plus détaillée et les actions possibles pour résoudre le problème.

Déboguer les messages de journalisation d'erreur courants

Dans la version 23.5.0 du SDK Google Mobile Ads, la journalisation détaillée a été améliorée pour inclure une trace de la pile à l'emplacement où l'annonce ne parvient pas à se charger. Ces messages n'indiquent pas un plantage, mais identifient la source unique de l'erreur. Le tableau suivant fournit des journaux d'erreur courants, des descriptions et des actions suggérées pour les résoudre :

Journal des erreurs Description Action(s) suggérée(s)
com.google.android.gms.ads.nonagon.render.cp: * L'ad server n'a renvoyé aucune annonce ni aucune source d'annonces de médiation à demander. Pour en savoir plus sur les problèmes d'intégration courants de ce type, consultez Résoudre les problèmes d'intégration courants.
com.google.android.gms.ads.nonagon.render.e: * Échec du chargement de toutes les sources d'annonces de la cascade de médiation. L'erreur spécifique représente la dernière source d'annonces ayant échoué. Pour en savoir plus sur la journalisation du motif d'échec de chaque source d'annonce de médiation, consultez la section Informations sur la réponse.
com.google.android.gms.ads.internal.util.*: Unable to obtain a JavascriptEngine. La requête d'annonce a échoué, car WebView n'est pas autorisé dans les processus privilégiés.
  • Vérifiez vos paramètres Internet.
  • Supprimez android:sharedUserId="android.uid.system" et installez l'application en tant qu'application système.
La requête d'annonce a échoué en raison d'une connexion réseau lente. Essayez d'améliorer votre connexion Internet, puis réessayez.
com.google.android.gms.ads.nonagon.load.a La demande d'annonce a expiré.
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 La demande d'annonce a échoué en raison de la connectivité réseau.
com.google.android.gms.ads.internal.util.*: Error building request URL: Cannot determine request type. Is your ad unit id correct? L'ID du bloc d'annonces ne correspond pas à une expression régulière attendue. Vérifiez que l'ID de votre bloc d'annonces est correct.
com.google.android.gms.ads.internal.render.bt: Unable to instantiate mediation adapter class. Le SDK Google Mobile Ads ne parvient pas à trouver l'adaptateur de médiation.
  • Identifiez les adaptateurs que le SDK Google Mobile Ads ne parvient pas à trouver à l'aide de l'option Afficher les adaptateurs disponibles dans l'inspecteur d'annonces.
  • Ajoutez les adaptateurs manquants à votre projet. Pour savoir comment effectuer cette étape pour chaque source d'annonces, consultez la section Détails du réseau.