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

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ł reklamy ani żadnych źródeł reklam zapośredniczonych na żądanie. 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 reklam, 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 powiodło się, 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. 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 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.
com.google.android.gms.internal.ads.*: Received error HTTP response code: 403 SerwerAdMob odrzucił żądanie. Spróbuj ponownie później. Jeśli problem występuje regularnie, użyj kontrolera reklam, aby pobrać adres URL żądania, a następnie skontaktuj się z zespołem pomocy.