В случаях, когда загрузка рекламы не удаётся, вызывается обратный вызов, который предоставляет объект LoadAdError
.
Для AdView
вызывается следующее:
Котлин
fun onAdFailedToLoad(error: LoadAdError)
Ява
public void onAdFailedToLoad(LoadAdError adError);
В следующем примере показана информация, доступная в случае, если объявление не загружается:
Котлин
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/admob/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
// 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())
}
Ява
@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/admob/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());
}
MobileAds.ERROR_DOMAIN
сообщение можно найти в статье «Устранение распространенных проблем при регистрации», где вы найдете более подробное объяснение и возможные действия, которые можно предпринять для решения проблемы.Отладка распространенных сообщений об ошибках
В версии 23.5.0 Google Mobile Ads SDK подробное ведение журнала было улучшено, чтобы включить трассировку стека, где реклама не загружается. Эти сообщения не указывают на сбой, а скорее указывают на уникальный источник ошибки. В следующей таблице приведены общие журналы ошибок, описания и предлагаемые действия для решения:
Журнал ошибок | Описание | Предлагаемые действия |
---|---|---|
com.google.android.gms.ads.nonagon.render.cp: * | Сервер объявлений не вернул ни объявления, ни каких-либо запрошенных источников медиации. | Подробную информацию о распространенных проблемах такого типа см. в разделе Решение распространенных проблем, возникающих при регистрации . |
com.google.android.gms.ads.nonagon.render.e: * | Не удалось загрузить все источники рекламы в каскаде медиации. Конкретная ошибка представляет последний источник рекламы, который не удалось загрузить. | Подробную информацию о регистрации причины сбоя каждого источника посреднической рекламы см. в разделе Информация об ответе . |
com.google.android.gms.ads.internal.util.*: Unable to obtain a JavascriptEngine. | Запрос объявления не был выполнен, поскольку WebView не разрешен в привилегированных процессах. |
|
Запрос объявления не был выполнен из-за медленного сетевого соединения. | Попробуйте улучшить интернет-соединение и повторите попытку. | |
com.google.android.gms.ads.nonagon.load.a | Время ожидания запроса объявления истекло. | |
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 | Запрос объявления не был выполнен из-за проблем с сетевым подключением. | |
com.google.android.gms.ads.internal.util.*: Error building request URL: Cannot determine request type. Is your ad unit id correct? | Идентификатор рекламного блока не соответствует ожидаемому регулярному выражению. | Проверьте правильность идентификатора вашего рекламного блока. |
com.google.android.gms.ads.internal.render.bt: Unable to instantiate mediation adapter class. | Google Mobile Ads SDK не может найти адаптер медиации. |
|
com.google.android.gms.internal.ads.*: Received error HTTP response code: 403 | Серверы AdMob отклонили запрос. | Попробуйте еще раз позже. Если проблема воспроизводится, зафиксируйте URL-адрес запроса с помощью инспектора рекламы и обратитесь в службу поддержки. |