Błędy wczytywania reklamy

Gdy nie uda się wczytać reklamy, wywoływana jest metoda przekazywania , który udostępnia obiekt LoadAdError.

W przypadku an AdViewjest to:

Oto fragment kodu, który ilustruje informacje dostępne, gdy reklama nie wczytuje się:

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

Te informacje mogą posłużyć do dokładniejszego określenia przyczyny niepowodzenia wczytywania reklamy. W szczególności w przypadku błędów w domenie MobileAds.ERROR_DOMAIN komunikat można znaleźć w tym artykule w Centrum pomocy, aby uzyskać bardziej szczegółowe wyjaśnienie i wskazówki dotyczące możliwych działań, które można podjąć w celu rozwiązania problemu.

Debugowanie typowych komunikatów logowania błędów

W wersji 23.5.0 pakietu SDK do reklam mobilnych Google rozbudowano szczegółowe rejestrowanie, aby uwzględnić ślad stosu, który wskazuje, gdzie nie udało się załadować reklamy. Te komunikaty nie wskazują awarii, ale wskazują unikalne źródło błędu. W tabeli poniżej znajdziesz typowe dzienniki błędów, ich opisy i sugerowane działania:

Dziennik błędów Opis Sugerowane działania
com.google.android.gms.ads.nonagon.render.cp: * Serwer reklam nie zwrócił na żądanie reklamy ani żadnego źródła reklam z zapośredniczeniem. Szczegółowe informacje o typowych problemach z wdrożeniem tego typu znajdziesz w artykule Rozwiązywanie typowych problemów występujących na początku.
com.google.android.gms.ads.nonagon.render.e: * Nie udało się załadować wszystkich źródeł reklam w kaskadzie zapośredniczenia. Ten konkretny błąd dotyczy ostatniego źródła reklamy, które nie działało prawidłowo. Szczegółowe informacje o rejestrowaniu przyczyny niepowodzenia poszczególnych źródeł reklam z pośrednictwem znajdziesz w artykule Informacje o odpowiedzi.
com.google.android.gms.ads.internal.util.*: Unable to obtain a JavascriptEngine. Żądanie reklamy nie zostało zrealizowane, ponieważ WebView nie jest dozwolone w procesach uprzywilejowanych.
  • Sprawdź ustawienia internetu.
  • Usuń android:sharedUserId="android.uid.system" i zainstaluj aplikację jako aplikację systemową.
Żądanie reklamy nie zostało zrealizowane z powodu wolnego połączenia z internetem. Popraw jakość połączenia z internetem i spróbuj ponownie.
com.google.android.gms.ads.nonagon.load.a Upłynął limit czasu żądania reklamy.
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 Nie udało się zrealizować żądania reklamy z powodu połączenia sieciowego.
com.google.android.gms.ads.internal.util.*: Error building request URL: Cannot determine request type. Is your ad unit id correct? Identyfikator jednostki reklamowej nie pasuje do oczekiwanego wyrażenia regularnego. Sprawdź, czy identyfikator jednostki reklamowej jest prawidłowy.
com.google.android.gms.ads.internal.render.bt: Unable to instantiate mediation adapter class. Pakiet SDK do reklam mobilnych Google nie może znaleźć adaptera zapośredniczenia.
  • Za pomocą opcji Wyświetl dostępne adaptery w inspektorze reklam zdiagnozuj, których adapterów nie może znaleźć pakiet SDK do reklam mobilnych Google.
  • Dodaj brakujące adaptery do projektu. Instrukcje dotyczące wykonania tego kroku w przypadku każdego źródła reklam znajdziesz w sekcji Szczegóły sieci.