Nei casi in cui non riesca a caricare un annuncio, viene chiamato un metodo del delegato callback che fornisce un oggetto LoadAdError
.
Per an AdView
, viene chiamato quanto segue:
Java
public void onAdFailedToLoad(LoadAdError adError);
Kotlin
fun onAdFailedToLoad(error: LoadAdError)
Ecco uno snippet di codice che illustra le informazioni disponibili quando non è possibile caricare un annuncio:
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())
}
Queste informazioni possono essere utilizzate per determinare con maggiore precisione la causa del caricamento dell'annuncio.
In particolare, per gli errori nel dominio
MobileAds.ERROR_DOMAIN
,
il messaggio
puoi consultare questo articolo del Centro assistenza per una spiegazione più dettagliata e le possibili azioni da intraprendere per risolvere il problema.
Eseguire il debug dei messaggi di registrazione degli errori comuni
Nella versione 23.5.0 dell'SDK Google Mobile Ads, la registrazione dettagliata è stata migliorata per includere una traccia dello stack del punto in cui non riesce a caricare l'annuncio. Questi messaggi non indicano un arresto anomalo, ma identificano l'origine univoca dell'errore. La seguente tabella fornisce log di errori comuni, descrizioni e azioni suggerite per la risoluzione:
Log degli errori | Descrizione | Azioni suggerite |
---|---|---|
com.google.android.gms.ads.nonagon.render.cp: * |
L'ad server non ha restituito un annuncio o origini annuncio di mediazione da richiedere. | Per informazioni dettagliate sui problemi comuni di questo tipo relativi alle operazioni preliminari, consulta Risolvere i problemi comuni relativi alle operazioni preliminari. |
com.google.android.gms.ads.nonagon.render.e: * |
Il caricamento di tutte le origini annuncio nella struttura a cascata della mediazione non è riuscito. L'errore specifico rappresenta l'ultima sorgente annuncio che non è riuscita. | Per informazioni dettagliate sulla registrazione del motivo dell'errore di ogni origine annuncio della mediazione, consulta Response Info. |
com.google.android.gms.ads.internal.util.*: Unable to obtain a JavascriptEngine. |
La richiesta di annunci non è andata a buon fine perché WebView non è consentito nelle procedure privilegiate. |
|
La richiesta di annunci non è andata a buon fine a causa di una connessione di rete lenta. | Prova a migliorare la connessione a internet e riprova. | |
com.google.android.gms.ads.nonagon.load.a |
La richiesta di annuncio è scaduta. | |
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 richiesta di annunci non è andata a buon fine a causa della connettività di rete. | |
com.google.android.gms.ads.internal.util.*: Error building
request URL: Cannot determine request type. Is your ad unit id correct? |
L'ID unità pubblicitaria non corrisponde a un'espressione regolare prevista. | Verifica che l'ID unità pubblicitaria sia corretto. |
com.google.android.gms.ads.internal.render.bt: Unable to
instantiate mediation adapter class. |
L'SDK Google Mobile Ads non riesce a trovare l'adattatore di mediazione. |
|
com.google.android.gms.internal.ads.*: Received error HTTP response code: 403 |
I serverAdMob hanno rifiutato la richiesta. | Riprova più tardi. Se il problema è riproducibile in modo coerente, acquisisci l'URL della richiesta utilizzando lo strumento di ispezione degli annunci e contatta l'assistenza. |