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 AdView
nazwa to:
Java
public void onAdFailedToLoad(LoadAdError adError);
Kotlin
fun onAdFailedToLoad(error: LoadAdError)
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. |
|
Żą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. |
|