Gdy nie uda się wczytać reklamy, wywoływana jest metoda przekazywania
, który udostępnia obiekt LoadAdError
.
W przypadku an AdView
jest to:
Java
public void onAdFailedToLoad(LoadAdError adError);
Kotlin
fun onAdFailedToLoad(error: LoadAdError)
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. |
|
Żą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. |
|