정상적으로 로드된 광고는 디버깅 및 로깅을 위해 ResponseInfo 객체를 제공합니다. 이 객체에는 로드한 광고에 대한 정보가 포함되며, 해당 광고를 로드할 때 사용된 연쇄 광고 호출 조정에 대한 정보도 함께 포함됩니다.
광고가 정상적으로 로드되면 광고 객체에 getResponseInfo() 메서드가 있습니다. 예를 들어 InterstitialAd.getResponseInfo()는 로드된 전면 광고의 응답 정보를 가져옵니다.
광고가 로드되지 않고 오류만 발생한 경우에는 LoadAdError.getResponseInfo()를 통해 응답 정보를 확인할 수 있습니다.
Kotlin
override fun onAdLoaded() {
val responseInfo = adView.responseInfo
Log.d(TAG, responseInfo.toString())
}
override fun onAdFailedToLoad(adError: LoadAdError) {
val responseInfo = adError.responseInfo
Log.d(TAG, responseInfo.toString())
}Java
@Override
public void onAdLoaded() {
ResponseInfo responseInfo = adView.getResponseInfo();
Log.d(TAG, responseInfo.toString());
}
@Override
public void onAdFailedToLoad(LoadAdError adError) {
ResponseInfo responseInfo = adError.getResponseInfo();
Log.d(TAG, responseInfo.toString());
}응답 정보
다음은 ResponseInfo.toString()에서 반환된 샘플 출력으로, 로드된 광고에 대해 반환된 디버깅 데이터를 표시합니다.
{
"Response ID": "NI3BZZDbGdyQtOUP4o21gAM",
"Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter",
"Adapter Responses": [
{
"Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
"Latency": 3585,
"Ad Source Name": "AdMob Network",
"Ad Source ID": "",
"Ad Source Instance Name": "AdMob (default)",
"Ad Source Instance ID": "",
"Credentials": {
"pubid": "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
},
"Ad Error": "null"
}
],
"Loaded Adapter Response": {
"Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
"Latency": 3585,
"Ad Source Name": "AdMob Network",
"Ad Source ID": "",
"Ad Source Instance Name": "AdMob (default)",
"Ad Source Instance ID": "",
"Credentials": {
"pubid": "ca-app-pub-3940256099942544\/9257395921\/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
},
"Ad Error": "null"
},
"Response Extras": {
"creative_id": "138471856178",
"line_item_id": "6707237225",
}
}
ResponseInfo 객체의 메서드에는 다음이 포함됩니다.
| 메서드 | 설명 |
|---|---|
getAdapterResponses |
광고 응답에 포함된 각 어댑터의 메타데이터를 포함하는
AdapterResponseInfo 목록을 반환합니다. 폭포식 구조 미디에이션 및 입찰 실행을 디버깅하는 데 사용될 수 있습니다. 목록의 순서는 이 광고 요청의 연쇄 광고 호출 조정 순서와 일치합니다.
자세한 내용은 어댑터 응답 정보를 참고하세요. |
getLoadedAdapterResponseInfo |
광고를 로드한 어댑터에 해당하는 AdapterResponseInfo를 반환합니다. |
getMediationAdapterClassName
|
광고를 로드한 광고 소스의 미디에이션 어댑터 클래스 이름을 반환합니다. |
getResponseId |
응답 식별자는 광고 응답의 고유 식별자입니다. 이 식별자는 광고 심사 센터에서 광고를 식별하고 차단할 때 사용될 수 있습니다. |
getResponseExtras |
광고 응답에 대한 추가 정보를 반환합니다. 추가 정보에서 다음 키를 반환할 수 있습니다.
|
Kotlin
override fun onAdLoaded() {
val responseInfo = adView.responseInfo
val responseId = responseInfo?.responseId
val mediationAdapterClassName = responseInfo?.mediationAdapterClassName
val adapterResponses = responseInfo?.adapterResponses
val loadedAdapterResponseInfo = responseInfo?.loadedAdapterResponseInfo
val extras = responseInfo?.responseExtras
val mediationGroupName = extras?.getString("mediation_group_name")
val mediationABTestName = extras?.getString("mediation_ab_test_name")
val mediationABTestVariant = extras?.getString("mediation_ab_test_variant")
}Java
@Override
public void onAdLoaded() {
ResponseInfo responseInfo = adView.getResponseInfo();
String responseId = responseInfo.getResponseId();
String mediationAdapterClassName = responseInfo.getMediationAdapterClassName();
List<AdapterResponseInfo> adapterResponses = responseInfo.getAdapterResponses();
AdapterResponseInfo loadedAdapterResponseInfo =
responseInfo.getLoadedAdapterResponseInfo();
Bundle extras = responseInfo.getResponseExtras();
String mediationGroupName = extras.getString("mediation_group_name");
String mediationABTestName = extras.getString("mediation_ab_test_name");
String mediationABTestVariant = extras.getString("mediation_ab_test_variant");
}어댑터 응답 정보
AdapterResponseInfo에는 광고 응답의 개별 광고 소스에 대한 응답 정보가 포함됩니다.
다음 샘플 AdapterResponseInfo 출력은 로드된 광고의 메타데이터를 보여줍니다.
{
"Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
"Latency": 3585,
"Ad Source Name": "AdMob Network",
"Ad Source ID": "",
"Ad Source Instance Name": "AdMob (default)",
"Ad Source Instance ID": "",
"Credentials": {
"pubid": "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
},
"Ad Error": "null"
}
AdapterResponseInfo는 각 광고 소스에 대해 다음 메서드를 제공합니다.
| 메서드 | 설명 |
|---|---|
getAdError |
광고 소스에 보낸 요청과 관련된 오류를 가져옵니다. 광고 소스에서 광고를 정상적으로 로드했거나 광고 소스에 광고 요청을 보내지 않았으면 null을 반환합니다. |
getAdSourceId |
이 어댑터 응답과 연결된 광고 소스 ID를 가져옵니다. |
getAdSourceInstanceId |
이 어댑터 응답과 연결된 광고 소스 인스턴스 ID를 가져옵니다. |
getAdSourceInstanceName |
이 어댑터 응답과 연결된 광고 소스 인스턴스 이름을 가져옵니다. |
getAdSourceName |
이 어댑터 응답과 연결된 광고 소스 이름을 가져옵니다. |
getAdapterClassName |
광고를 로드한 광고 소스 어댑터의 클래스 이름을 가져옵니다. |
getCredentials |
Ad Manager UI에 지정된 광고 소스 어댑터 사용자 인증 정보를 가져옵니다. |
getLatencyMillis |
광고 소스 어댑터에서 광고를 로드하는 데 걸린 시간을 가져옵니다.
광고 소스에 광고 요청을 보내지 않았으면 0이 반환됩니다. |
Kotlin
override fun onAdLoaded() {
val loadedAdapterResponseInfo = adView.responseInfo?.loadedAdapterResponseInfo
val adError = loadedAdapterResponseInfo?.adError
val adSourceId = loadedAdapterResponseInfo?.adSourceId
val adSourceInstanceId = loadedAdapterResponseInfo?.adSourceInstanceId
val adSourceInstanceName = loadedAdapterResponseInfo?.adSourceInstanceName
val adSourceName = loadedAdapterResponseInfo?.adSourceName
val adapterClassName = loadedAdapterResponseInfo?.adapterClassName
val credentials = loadedAdapterResponseInfo?.credentials
val latencyMillis = loadedAdapterResponseInfo?.latencyMillis
}자바
@Override
public void onAdLoaded() {
AdapterResponseInfo loadedAdapterResponseInfo =
adView.getResponseInfo().getLoadedAdapterResponseInfo();
AdError adError = loadedAdapterResponseInfo.getAdError();
String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();
String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
String adapterClassName = loadedAdapterResponseInfo.getAdapterClassName();
Bundle credentials = loadedAdapterResponseInfo.getCredentials();
long latencyMillis = loadedAdapterResponseInfo.getLatencyMillis();
}