정상적으로 로드된 광고는 디버깅 및 로깅을 위해 GADResponseInfo
객체를 제공합니다. 이 객체에는 로드된 광고에 대한 정보가 포함되며, 해당 광고를 로드할 때 사용된 연쇄 광고 호출 조정에 대한 정보도 함께 포함됩니다.
광고가 성공적으로 로드되면 광고 객체는 GADResponseInfo
속성을 가집니다. 예를 들어 GADInterstitialAd.responseInfo
는 로드된 전면 광고의 응답 정보를 가져옵니다.
광고가 로드되지 않고 오류만 발생하는 경우에는 오류의 userInfo
사전에 있는 GADErrorUserInfoKeyResponseInfo
키를 통해 GADResponseInfo
를 이용할 수 있습니다.
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "ca-app-pub-3940256099942544/4411468910", 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:@"ca-app-pub-3940256099942544/4411468910" 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: CLz5r-KMtfoCFQvv7QodfGAMHw
Network: GADMAdapterGoogleAdMobAds
** Loaded Adapter Response **
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:Reservation campaign
Ad Source ID:7068401028668408324
Ad Source Instance Name:[DO NOT EDIT] Publisher Test Interstitial
Ad Source Instance ID:[DO NOT EDIT] Publisher Test Interstitial
AdUnitMapping:
{
}
Error: (null)
Latency: 0.357
** Extras Dictionary **
{
"mediation_group_name" = Campaign;
}
** Mediation line items **
Entry (1)
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:Reservation campaign
Ad Source ID:7068401028668408324
Ad Source Instance Name:[DO NOT EDIT] Publisher Test Interstitial
Ad Source Instance ID:[DO NOT EDIT] Publisher Test Interstitial
AdUnitMapping:
{
}
Error: (null)
Latency: 0.357
GADResponseInfo
의 속성에는 다음이 포함됩니다.
속성 | 설명 |
---|---|
adNetworkInfoArray |
광고 응답에 포함된 각 어댑터의 메타데이터를 포함하는 GADAdNetworkResponseInfo 목록을 반환합니다. 폭포식 구조 미디에이션 및 입찰 실행을 디버깅하는 데 사용될 수 있습니다. 목록의 순서는 이 광고 요청의 연쇄 광고 호출 조정의 순서와 일치합니다.
자세한 내용은 어댑터 응답 정보를 참고하세요. |
loadedAdNetworkResponseInfo |
광고를 로드한 어댑터에 해당하는 GADAdNetworkResponseInfo 를 반환합니다. |
adNetworkClassName |
광고를 로드한 광고 네트워크의 미디에이션 어댑터 클래스 이름을 반환합니다. |
responseIdentifier |
응답 식별자는 광고 응답의 고유한 식별자입니다. 이 식별자는 광고 심사 센터 (ARC)에서 광고를 식별 및 차단할 때 사용될 수 있습니다. |
extrasDictionary |
광고 응답에 대한 추가 정보를 반환합니다. Extras는 다음 키를 반환할 수 있습니다.
|
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "ca-app-pub-3940256099942544/4411468910", 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 let mediationGroupName = responseInfo?.extrasDictionary["mediation_group_name"] let mediationABTestName = responseInfo?.extrasDictionary["mediation_ab_test_name"] let mediationABTestVariant = responseInfo?.extrasDictionary["mediation_ab_test_variant"] } }
Objective-C
- (void)loadInterstitial { [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910" 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; NSString *mediationGroupName = responseInfo.extrasDictionary[@"mediation_group_name"]; NSString *mediationABTestName = responseInfo.extrasDictionary[@"mediation_ab_test_name"]; NSString *mediationABTestVariant = responseInfo.extrasDictionary[@"mediation_ab_test_variant"]; }]; }
어댑터 응답 정보
GADAdNetworkResponseInfo
에는 광고 응답에 포함된 각 어댑터의 메타데이터가 포함되며 이 메타데이터를 사용하면 폭포식 구조 미디에이션 및 입찰 실행을 디버깅할 수 있습니다. 목록의 순서는 광고 요청의 연쇄 광고 호출 조정의 순서와 일치합니다.
다음은 샘플 GADAdNetworkResponseInfo
출력입니다.
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:Reservation campaign
Ad Source ID:7068401028668408324
Ad Source Instance Name:[DO NOT EDIT] Publisher Test Interstitial
Ad Source Instance ID:[DO NOT EDIT] Publisher Test Interstitial
AdUnitMapping:
{
}
Error: (null)
Latency: 0.277
GADAdNetworkResponseInfo
는 각 광고 네트워크에 대해 다음 속성을 제공합니다.
속성 | 설명 |
---|---|
error |
네트워크에 보낸 요청과 관련된 오류입니다. 네트워크에서 광고를 정상적으로 로드했거나 네트워크에 광고 요청을 보내지 않았으면 nil 을 반환합니다. |
adSourceId |
이 어댑터 응답과 연결된 광고 소스 ID입니다.
캠페인의 경우 미디에이션된 광고 캠페인 목표 유형에 대해 6060308706800320801 가 반환되고 노출 및 클릭 목표 유형에 대해 7068401028668408324 가 반환됩니다. 광고 네트워크에서 광고를 게재할 때 사용할 수 있는 광고 소스 ID 목록은 광고 소스를 참고하세요. |
adSourceInstanceId |
이 어댑터 응답과 연결된 광고 소스 인스턴스 ID입니다. |
adSourceInstanceName |
이 어댑터 응답과 연결된 광고 소스 인스턴스 이름입니다. |
adSourceName |
노출을 게재하는 특정 광고 네트워크를 나타내는 광고 소스입니다. 캠페인의 경우 mediated ads campaign goal type에 대해 Mediated House Ads 가 반환되고 노출 및 클릭 목표 유형에 대해 Reservation Campaign 가 반환됩니다. 광고 네트워크에서 광고를 게재할 때 사용할 수 있는 광고 소스 이름 목록은 광고 소스를 참고하세요. |
adNetworkClassName |
광고를 로드한 광고 네트워크 어댑터의 클래스 이름입니다. |
adUnitMapping |
AdMob UI에서 설정된 네트워크 구성입니다. |
latency |
광고 네트워크에서 광고를 로드하는 데 걸린 시간입니다. 네트워크에 광고 요청을 보내지 않았으면 0 이 반환됩니다. |
Swift
fileprivate func loadInterstitial() { GADInterstitialAd.load( withAdUnitID: "ca-app-pub-3940256099942544/4411468910", 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:@"ca-app-pub-3940256099942544/4411468910" 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; }]; }