광고 응답에 대한 정보를 가져옵니다.

정상적으로 로드된 광고는 디버깅 및 로깅을 위해 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는 다음 키를 반환할 수 있습니다.

  • mediation_group_name: 미디에이션 그룹의 이름
  • mediation_ab_test_name: 미디에이션 A/B 테스트의 이름입니다(해당하는 경우).
  • mediation_ab_test_variant: 미디에이션 A/B 테스트에 사용된 대안입니다(해당하는 경우).

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 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;
  }];
}