Błędy wczytywania reklamy

W przypadku, gdy nie uda się załadować reklamy, wywoływana jest metoda podrzędna , która udostępnia obiekt LoadAdError.

W przypadku atrybutu an AdViewnazwa to:

Oto fragment kodu, który ilustruje informacje dostępne w przypadku problemów z wczytaniem reklamy:

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 z błędami

W wersji 23.5.0 pakietu SDK do reklam mobilnych Google szczegółowe rejestrowanie zostało ulepszone, aby uwzględnić zrzut stosu pokazujący miejsca, w których nie udało się wczytać 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 wdrażaniem tego typu znajdziesz w artykule Rozwiązywanie typowych problemów z wprowadzeniem.
com.google.android.gms.ads.nonagon.render.e: * Nie udało się wczytać wszystkich źródeł reklam w kaskadzie zapośredniczenia. Konkretny błąd dotyczy ostatniego źródła reklam, w przypadku którego wystąpił błąd. Szczegółowe informacje o logowaniu przyczyny błędu każdego źródła reklam zapośredniczenia znajdziesz w Informacjach o odpowiedzi.
com.google.android.gms.ads.internal.util.*: Unable to obtain a JavascriptEngine. Żądanie reklamy nie powiodło się, ponieważ interfejs WebView nie jest dozwolony w procesach z podwyższonymi uprawnieniami.
  • 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. Spróbuj poprawić połączenie 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 Żądanie reklamy nie zostało zrealizowane z powodu problemów z połączeniem z siecią.
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 do projektu brakujące adaptery. Instrukcje wykonania tego kroku w przypadku poszczególnych źródeł reklam znajdziesz w artykule Szczegóły sieci.