본문으로 건너뛰기

응답 정보

NAM SDK 는 광고 로드 성공 또는 실패 시 디버깅 및 로깅 목적으로 활용할 수 있는 GfpResponseInfo 객체를 제공합니다.

이 객체는 광고 로드 관련 정보를 포함하며, GfpAd 를 상속받는 GfpBannerAd, GfpNativeAd, GfpRewardedAd, GfpInterstitialAd 의 객체의 getResponseInfo() 메서드를 호출하여 획득할 수 있습니다.

응답 정보 확인 예제

GfpBannerAdView 사용시

GfpBannerAdView 를 통한 배너 광고 연동시에는 아래 예시와 같이 광고 응답 정보를 확인할 수 있습니다.

val bannerAdView = GfpBannerAdView(this, adParam)
bannerAdView.setAdListener(object: BannerAdListener() {
override fun onAdLoaded(ad: GfpBannerAd) {
val responseInfo = ad.responseInfo
Log.d("response info", responseInfo.toString())
}

override fun onError(ad: GfpBannerAd, error: GfpError) {
val responseInfo = ad.responseInfo
Log.d("response info", responseInfo.toString())
}
})

GfpRewardedAdManager 사용시

GfpRewardedAdManager 를 통한 보상형 광고 연동시에는 아래 예시와 같이 광고 응답 정보를 확인할 수 있습니다.

val rewardedAdManager = GfpRewardedAdManager(this, adParam)
rewardedAdManager.setAdListener(object: RewardedAdListener() {
override fun onAdLoaded(ad: GfpRewardedAd) {
val responseInfo = ad.responseInfo
Log.d("response info", responseInfo.toString())
}

override fun onError(ad: GfpRewardedAd, error: GfpError) {
val responseInfo = ad.responseInfo
Log.d("response info", responseInfo.toString())
}
})

GfpInterstitialAdManager 사용시

GfpInterstitialAdManager 를 통한 전면형 광고 연동시에는 아래 예시와 같이 광고 응답 정보를 확인할 수 있습니다.

val interstitialAdManager = GfpInterstitialAdManager(this, adParam)
interstitialAdManager.setAdListener(object: InterstitialAdListener() {
override fun onAdLoaded(ad: GfpInterstitialAd) {
val responseInfo = ad.responseInfo
Log.d("response info", responseInfo.toString())
}

override fun onError(ad: GfpInterstitialAd, error: GfpError) {
val responseInfo = ad.responseInfo
Log.d("response info", responseInfo.toString())
}
})

GfpAdLoader 사용시

배너네이티브 그리고 네이티브 심플 광고의 로드를 지원하는 GfpAdLoader 를 사용하는 경우에는 아래 예시와 같이 광고 응답 정보를 확인할 수 있습니다.

로드 실패 또는 렌더링 과정에서의 오류가 발생할 경우의 응답 정보는 AdEventListener.onError() 콜백을 통해 전달되는 두번째 인자로 확인할 수 있습니다.

val builder = GfpAdLoader.Builder(this, adParam)
.withAdListener(object: AdEventListener() {
override fun onError(error: GfpError, responseInfo: GfpResponseInfo) {
Log.d("response info", responseInfo.toString());
}
})
.withBannerAd(getBannerAdOptions()) { bannerAd ->
GfpResponseInfo responseInfo = bannerAd.getResponseInfo();
Log.d("banner ad response info", responseInfo.toString());
}
.withNativeAd(getNativeAdOptions(false)) { nativeAd ->
GfpResponseInfo responseInfo = nativeAd.getResponseInfo();
Log.d("native ad response info", responseInfo.toString());
}
.withNativeSimpleAd(getNativeSimpleAdOptions()) { nativeSimpleAd ->
GfpResponseInfo responseInfo = nativeSimpleAd.getResponseInfo();
Log.d("native simple ad response info", responseInfo.toString());
}
.build()

응답 정보

GfpResponseInfo 객체의 메서드에는 다음이 포함됩니다.

메서드설명
getRequestId()Request ID 는 광고 요청에 대한 고유 식별자이며, 특정 광고 요청에 문제가 발생했을 때 원인을 파악하는 데 유용한 키 값이 될 수 있습니다.
getAdCallLatency()광고 요청 과정에서 광고 서버에 요청을 보내고 응답을 받는 데 걸린 시간(밀리초)입니다. 광고를 요청하지 않은 경우에는 0이 반환됩니다.
getTotalLoadLatency()광고 요청 과정에서 광고 서버에 요청을 보내고 성공적으로 광고를 로드하는 데 걸린 시간(밀리초)입니다. 광고를 요청하지 않았거나 광고가 로드되지 않고 오류만 발생한 경우에는 0이 반환됩니다.
getAdapterLoadLatency()광고를 로드한 미디에이션 어댑터 내에서 광고를 요청하고 로드하는데 걸린 시간(밀리초)입니다. 광고를 요청하지 않았거나 광고를 로드하는데 성공한 미디에이션 어댑터가 없을 경우, 0이 반환됩니다.
getLoadedAdapterName()광고를 로드한 미디에이션 어댑터의 클래스 이름을 반환합니다. 광고를 요청하지 않았거나 광고를 로드하는데 성공한 미디에이션 어댑터가 없을 경우, null이 반환됩니다.
getAdapterResponses()광고 응답에 포함된 각 미디에이션 어댑터의 메타데이터를 포함하는 GfpAdapterResponseInfo 목록을 반환합니다. Waterfall 미디에이션 과정을 디버깅하는데 사용될 수 있으며 목록의 순서는 이 광고 요청의 미디에이션 호출 순서와 일치합니다.

어댑터 응답 정보

GfpAdapterResponseInfo 는 미디에이션 과정중에 처리되는 개별 미디에이션 어댑터에 대한 응답 정보를 포함하고 이 객체의 메서드에는 다음이 포함됩니다.

메서드설명
getAdapterName()광고 네트워크를 식별하는 클래스 이름입니다.
getLoadLatency()어댑터 내부에서 광고를 요청하고 로드하는데 걸린 시간(밀리초)입니다. 어댑터 내부에서 광고를 요청 하지 않았거나 광고 요청이 실패했을 경우 0이 반환됩니다.
getLoadErrorLatency()어댑터 내부에서 광고를 요청하고 에러가 발생하는 시점까지 걸린 시간(밀리초)입니다. 어댑터 내부에서 광고를 요청하지 않았거나 광고 요청이 성공했을 경우 0값이 반환됩니다.
getError()어댑터 내부에서 발생한 오류입니다. GfpError 객체로 에러 정보를 반환하며 해당 객체에서 오류와 관련된 정보를 확인할 수 있습니다. 광고 요청이 성공했을 경우에는 null이 반환됩니다.