광고 응답에 관한 정보 가져오기

정상적으로 로드된 광고는 디버깅 및 로깅을 위해 GADResponseInfo 객체를 제공합니다. 이 객체에는 로드된 광고에 대한 정보 및 광고를 로드하는 데 사용된 연쇄 광고 호출 조정에 대한 정보가 포함됩니다.

광고가 성공적으로 로드되면 광고 객체에 GADResponseInfo 속성이 있습니다. 예를 들어 GADInterstitialAd.responseInfo는 로드된 전면 광고의 응답 정보를 가져옵니다.

광고가 로드되지 않고 오류만 발생한 경우에는 오류의 userInfo 사전에 있는 GADErrorUserInfoKeyResponseInfo 키를 통해 GADResponseInfo를 사용할 수 있습니다.

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "/6499/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:@"/6499/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: "/6499/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:@"/6499/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: "/6499/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:@"/6499/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;
  }];
}