광고 로드 오류

광고를 로드하지 못한 경우 LoadAdError객체를 제공하는 콜백 가 호출됩니다.

an AdView의 경우 다음이 호출됩니다.

다음은 광고를 로드하지 못했을 때 제공될 수 있는 정보를 보여주는 코드 스니펫입니다.

자바

@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())
}

이 정보를 사용하여 광고 로드에 실패한 원인을 보다 정확하게 파악할 수 있습니다. 특히 MobileAds.ERROR_DOMAIN 도메인에 속한 오류의 경우 메시지 이 고객센터 도움말에서 조회하여 자세한 내용을 확인하고 문제를 해결하기 위해 취할 수 있는 조치에 대해 알아볼 수 있습니다.

일반적인 오류 로깅 메시지 디버그

Google 모바일 광고 SDK 버전 23.5.0에서는 광고가 로드되지 않는 위치의 스택 트레이스를 포함하도록 상세 로깅이 개선되었습니다. 이 메시지는 비정상 종료를 나타내는 것이 아니라 오류의 고유한 원인을 식별합니다. 다음 표에는 일반적인 오류 로그, 설명, 해결을 위한 추천 작업이 나와 있습니다.

오류 로그 설명 추천 작업
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가 허용되지 않아 광고 요청에 실패했습니다.
  • 인터넷 설정을 확인하세요.
  • android:sharedUserId="android.uid.system"를 삭제하고 앱을 시스템 앱으로 설치합니다.
네트워크 연결이 느려 광고 요청에 실패했습니다. 인터넷 연결 상태를 개선한 다음 다시 시도해 보세요.
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? 광고 단위 ID가 예상 정규 표현식과 일치하지 않습니다. 광고 단위 ID가 올바른지 확인합니다.
com.google.android.gms.ads.internal.render.bt: Unable to instantiate mediation adapter class. Google 모바일 광고 SDK에서 미디에이션 어댑터를 찾을 수 없습니다.
  • 광고 검사기에서 사용 가능한 어댑터 보기를 사용하여 Google 모바일 광고 SDK에서 찾을 수 없는 어댑터를 진단합니다.
  • 누락된 어댑터를 프로젝트에 추가합니다. 각 광고 소스에 대해 이 단계를 완료하는 방법에 관한 안내는 네트워크 세부정보를 참고하세요.