Errori di carico degli annunci

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:

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.
  • Controlla le impostazioni di internet.
  • Rimuovi android:sharedUserId="android.uid.system" e installa l'app come app di sistema.
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.
  • Diagnostica gli adattatori che l'SDK Google Mobile Ads non riesce a trovare utilizzando Visualizza gli adattatori disponibili nello strumento di controllo degli annunci.
  • Aggiungi gli adattatori mancanti al progetto. Per leggere le istruzioni su come completare questo passaggio per ogni origine annuncio, consulta Dettagli sulla rete.
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.