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é :
Java
public void onAdFailedToLoad(LoadAdError adError);
Kotlin
fun onAdFailedToLoad(error: LoadAdError)
Voici un extrait de code qui illustre les informations disponibles en cas d'échec du chargement d'une annonce:
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 du chargement des annonces.
En particulier, pour les erreurs du domaine
MobileAds.ERROR_DOMAIN
, le message
vous pouvez consulter cet article du Centre d'aide pour obtenir une explication plus détaillée et les actions possibles à entreprendre 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'annonces de médiation, consultez la section Informations sur la réponse. |
com.google.android.gms.ads.internal.util.*: Unable to obtain a JavascriptEngine. |
La demande d'annonce a échoué, car WebView n'est pas autorisé dans les processus privilégiés. |
|
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 d'une 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 trouve pas l'adaptateur de médiation. |
|