정상적으로 로드된 광고는 디버깅 및 로깅을 위해 GADResponseInfo
객체를 제공합니다. 이 객체에는 로드된 광고에 대한 정보가 포함되며, 해당 광고를 로드할 때 사용된 연쇄 광고 호출 조정에 대한 정보도 함께 포함됩니다.
광고가 성공적으로 로드되면 광고 객체는 GADResponseInfo
속성을 가집니다. 예를 들어 GADInterstitialAd.responseInfo
는 로드된 전면 광고의 응답 정보를 가져옵니다.
광고가 로드되지 않고 오류만 발생하는 경우에는 오류의 userInfo
사전에 있는 GADErrorUserInfoKeyResponseInfo
키를 통해 GADResponseInfo
를 이용할 수 있습니다.
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "/21775744923/example/interstitial", request: request ) { (ad, error) in if let error = error { let responseInfo = (error as NSError).userInfo[GADErrorUserInfoKeyResponseInfo] as? GADResponseInfo print("\(String(describing: responseInfo))") return } let responseInfo = ad?.responseInfo print("\(String(describing: responseInfo))") } }
Objective-C
- (void)loadInterstitial { [GADInterstitialAd loadWithAdUnitID:@"/21775744923/example/interstitial" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { if (error) { GADResponseInfo *responseInfo = error.userInfo[GADErrorUserInfoKeyResponseInfo]; NSLog(@"%@", responseInfo.description); return; } GADResponseInfo *responseInfo = ad.responseInfo; NSLog(@"%@", responseInfo.description); }]; }
응답 정보
다음은 로드된 광고에 대해 반환된 디버깅 데이터를 보여주는 샘플 출력입니다.
** Response Info **
Response ID: BmnCZaSbE_6Mur8P5su8gAY
Network: GADMAdapterGoogleAdMobAds
** Loaded Adapter Response **
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:AdMob Network
Ad Source ID:
Ad Source Instance Name:AdMob (default)
Ad Source Instance ID:AdMob (default)
AdUnitMapping:
{
pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
Error: (null)
Latency: 2.724
** Extras Dictionary **
{
}
** Mediation line items **
Entry (1)
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:AdMob Network
Ad Source ID:
Ad Source Instance Name:AdMob (default)
Ad Source Instance ID:AdMob (default)
AdUnitMapping:
{
pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
Error: (null)
Latency: 2.724
GADResponseInfo
의 속성에는 다음이 포함됩니다.
속성 | 설명 |
---|---|
adNetworkInfoArray |
광고 응답에 포함된 각 어댑터의 메타데이터를 포함하는 GADAdNetworkResponseInfo 목록을 반환합니다. 폭포식 구조 미디에이션 및 입찰 실행을 디버깅하는 데 사용될 수 있습니다. 목록의 순서는 이 광고 요청의 연쇄 광고 호출 조정의 순서와 일치합니다.
자세한 내용은 어댑터 응답 정보를 참고하세요. |
loadedAdNetworkResponseInfo |
광고를 로드한 어댑터에 해당하는 GADAdNetworkResponseInfo 를 반환합니다. |
adNetworkClassName |
광고를 로드한 광고 네트워크의 미디에이션 어댑터 클래스 이름을 반환합니다. |
responseIdentifier |
응답 식별자는 광고 응답의 고유한 식별자입니다. 이 식별자는 광고 심사 센터 (ARC)에서 광고를 식별 및 차단할 때 사용될 수 있습니다. |
extrasDictionary |
광고 응답에 대한 추가 정보를 반환합니다. |
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "/21775744923/example/interstitial", request: request ) { (ad, error) in let responseInfo = ad?.responseInfo let responseIdentifier = responseInfo?.responseIdentifier let adNetworkClassName = responseInfo?.adNetworkClassName let adNetworkInfoArray = responseInfo?.adNetworkInfoArray let loadedAdNetworkResponseInfo = responseInfo?.loadedAdNetworkResponseInfo } }
Objective-C
- (void)loadInterstitial { [GADInterstitialAd loadWithAdUnitID:@"/21775744923/example/interstitial" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { GADResponseInfo *responseInfo = ad.responseInfo; NSString *responseIdentifier = responseInfo.responseIdentifier; NSString *adNetworkClassName = responseInfo.adNetworkClassName; NSArray *adNetworkInfoArray = responseInfo.adNetworkInfoArray; GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo = responseInfo.loadedAdNetworkResponseInfo; }]; }
어댑터 응답 정보
GADAdNetworkResponseInfo
에는 광고 응답에 포함된 각 어댑터의 메타데이터가 포함되며 이 메타데이터를 사용하면 폭포식 구조 미디에이션 및 입찰 실행을 디버깅할 수 있습니다. 목록의 순서는 광고 요청의 연쇄 광고 호출 조정의 순서와 일치합니다.
다음은 샘플 GADAdNetworkResponseInfo
출력입니다.
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:AdMob Network
Ad Source ID:
Ad Source Instance Name:AdMob (default)
Ad Source Instance ID:AdMob (default)
AdUnitMapping:
{
pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
Error: (null)
Latency: 2.724
GADAdNetworkResponseInfo
는 각 광고 네트워크에 대해 다음 속성을 제공합니다.
속성 | 설명 |
---|---|
error |
네트워크에 보낸 요청과 관련된 오류입니다. 네트워크에서 광고를 정상적으로 로드했거나 네트워크에 광고 요청을 보내지 않았으면 nil 을 반환합니다. |
adSourceId |
이 어댑터 응답과 연결된 광고 소스 ID입니다. |
adSourceInstanceId |
이 어댑터 응답과 연결된 광고 소스 인스턴스 ID입니다. |
adSourceInstanceName |
이 어댑터 응답과 연결된 광고 소스 인스턴스 이름입니다. 수익 그룹에서 채우지 않은 경우 빈 문자열을 반환합니다. |
adSourceName |
노출을 게재하는 특정 광고 네트워크를 나타내는 광고 소스입니다. |
adNetworkClassName |
광고를 로드한 광고 네트워크 어댑터의 클래스 이름입니다. |
adUnitMapping |
Ad Manager UI에서 설정된 네트워크 구성입니다. |
latency |
광고 네트워크에서 광고를 로드하는 데 걸린 시간입니다. 네트워크에 광고 요청을 보내지 않았으면 0 이 반환됩니다. |
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "/21775744923/example/interstitial", request: request ) { (ad, error) in let responseInfo = ad?.responseInfo let loadedAdNetworkResponseInfo = responseInfo?.loadedAdNetworkResponseInfo let adNetworkError = loadedAdNetworkResponseInfo?.error let adSourceId = loadedAdNetworkResponseInfo?.adSourceID let adSourceInstanceId = loadedAdNetworkResponseInfo?.adSourceInstanceID let adSourceInstanceName = loadedAdNetworkResponseInfo?.adSourceInstanceName let adSourceName = loadedAdNetworkResponseInfo?.adSourceName let adNetworkClassName = loadedAdNetworkResponseInfo?.adNetworkClassName let adUnitMapping = loadedAdNetworkResponseInfo?.adUnitMapping let latency = loadedAdNetworkResponseInfo?.latency } }
Objective-C
- (void)loadInterstitial { [GADInterstitialAd loadWithAdUnitID:@"/21775744923/example/interstitial" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { GADResponseInfo *responseInfo = ad.responseInfo; GADAdNetworkResponseInfo *loadedAdNetworkResponseInfo = responseInfo.loadedAdNetworkResponseInfo; NSError *adNetworkError = loadedAdNetworkResponseInfo.error; NSString *adSourceId = loadedAdNetworkResponseInfo.adSourceID; NSString *adSourceInstanceId = loadedAdNetworkResponseInfo.adSourceInstanceID; NSString *adSourceInstanceName = loadedAdNetworkResponseInfo.adSourceInstanceName; NSString *adSourceName = loadedAdNetworkResponseInfo.adSourceName; NSString *adNetworkClassName = loadedAdNetworkResponseInfo.adNetworkClassName; NSDictionary*adUnitMapping = loadedAdNetworkResponseInfo.adUnitMapping; NSTimeInterval latency = loadedAdNetworkResponseInfo.latency; }]; }