광고 오류
광고를 로드하는데 실패하거나 로드 후 렌더링 과정에서 오류가 발생했을 때는 GfpError 를 제공하는 콜백이 호출됩니다.
GfpAdLoader 를 사용하여 광고를 로드하는 경우, 오류 발생 시 withAdListener() 로 설정한 AdEventListener 의 onError() 콜백이 호출되어 오류를 처리할 수 있습니다.
- Kotlin
- Java
val adLoader = GfpAdLoader.Builder(this, adParam)
...
.withAdListener(object : AdEventListener() {
...
override fun onError(error: GfpError, responseInfo: GfpResponseInfo?) {
// Called when an error happened while the ad is
// attempting to load or rendering an ad.
}
})
.build()
GfpAdLoader adLoader = new GfpAdLoader.Builder(this, adParam)
...
.withAdListener(new AdEventListener() {
...
@Override
public void onError(GfpError error, GfpResponseInfo responseInfo) {
// Called when an error happened while the ad is
// attempting to load or rendering an ad.
}
})
.build();
다음은 광고 로드 실패 또는 로드 후 렌더링 과정에서 오류 발생 시 제공되는 오류 정보의 형태를 보여줍니다.
- Kotlin
- Java
override fun onError(error: GfpError, responseInfo: GfpResponseInfo) {
// Gets a GfpErrorType enum indicating the type of error.
val errorType = error.errorType
// Gets an error code specific to the errorType.
val errorCode = error.errorCode
// Gets a string representing the detailed error sub-code.
val errorSubCode = error.errorSubCode
// Gets an error message.
val errorMessage = error.errorMessage
// Gets additional response information about the request.
Log.d("NamAds", responseInfo.toString())
// All of this information is available using the error's toString() method.
Log.d("NamAds", error.toString())
}
@Override
public void onError(GfpError error, GfpResponseInfo responseInfo) {
// Gets a GfpErrorType enum indicating the type of error.
GfpErrorType errorType = error.getErrorType();
// Gets an error code specific to the errorType.
int errorCode = error.getErrorCode();
// Gets a string representing the detailed error sub-code.
String errorSubCode = error.getErrorSubCode();
// Gets an error message.
String errorMessage = error.getErrorMessage();
// Gets additional response information about the request.
Log.d("NamAds", responseInfo.toString())
// All of this information is available using the error's toString() method.
Log.d("NamAds", error.toString());
}
NAM SDK 에러 코드
errorCode | errorType | 설명 | 로드 / 노출 |
---|---|---|---|
1000 | GfpErrorType.INTERNAL_ERROR | 지정되지 않은 내부 오류 | 로드 |
3000 | GfpErrorType.LOAD_ERROR | 광고를 로드하는데 실패 | 로드 |
3100 | GfpErrorType.LOAD_PARAM_ERROR | 광고를 로드하는데 필요한 필수 파라미터가 존재하지 않음 | 로드 |
3210 | GfpErrorType.LOAD_REQUEST_WF_ERROR | 광고 서버로 광고를 요청하는 과정에서의 오류 | 로드 |
3220 | GfpErrorType.LOAD_PARSE_WF_ERROR | 광고 서버로부터 전달받은 응답이 잘못되었을 때의 오류 | 로드 |
3310 | GfpErrorType.LOAD_NO_FILL_ERROR | 광고 요청에는 성공했지만 광고 인벤토리가 부족하여 광고가 반환되지 않음 | 로드 |
3400 | GfpErrorType.LOAD_REQUEST_TIMEOUT_ERROR | 주어진 Request Timeout 내에 광고를 로드하는데 실패함 | 로드 |
5100 | GfpErrorType.NATIVE_RENDERING_ERROR | 네이티브 광고를 노출하는 과정에서의 오류 | 노출 |
6100 | GfpErrorType.REWARDED_RENDERING_ERROR | 보상형 광고를 노출하는 과정에서의 오류 | 노출 |
7100 | GfpErrorType.INTERSTITIAL_RENDERING_ERROR | 전면형 광고를 노출하는 과정에서의 오류 | 노출 |
일반적인 오류 로깅 메시지 디버그
errorMessage | 설명 | 해결 방법 |
---|---|---|
Empty render type | 광고 인벤토리 부족으로 광고가 반환되지 않았거나, 미디에이션 네트워크 의존성 설정 누락으로 사용 가능한 미디에이션 어댑터를 찾을 수 없음. | NAM 관리자에게 문의. |
There is no adapter available 또는 Not found adapter: xxx, xxx, xxx, xxx | NAM SDK에서 사용 가능한 미디에이션 어댑터를 찾을 수 없음. | 1. 누락된 미디에이션 어댑터를 프로젝트에 추가. 2. adUnitId 에 맞는 광고 형식으로 광고를 로드했는지 확인. |
Network failed to respond in a timely manner | 광고 요청 시간 초과. | 1. 인터넷 연결 상태 개선 후 재시도. 2. 광고 형식별 또는 전역적으로 요청 타임아웃 변경. |
MediaRenderer is required | 네이티브 광고 응답에 미디어 에셋이 포함되어 있지 않음. | 1. 미디어 뷰가 필요 없는 네이티브 광고이므로, GfpNativeAdView 정의 시 GfpMediaView 제거. 2. GfpNativeAdOptions 설정 시 setHasMediaView() 에 false 를 인자로 설정하여 미디어 뷰가 없는 네이티브 광고를 요청하도록 명시적으로 설정. |
Bid 421...586 for template 200 being used on template NATIVE_BANNER | Meta(FAN) 의 네이티브 배너 광고를 처리할 수 없음. | 1. Meta 어드민에서 유닛 타입이 Native Banner 인지 확인. 2. GfpNativeAdOptions 설정 시 Native Banner 를 사용할 수 있도록 setHasMediaView(false) 가 설정되었는지 확인. |
No ad config | Google Ad Manager(DFP) 설정 문제. | Google Ad Manager 어드민 확인. |