Cómo recuperar información sobre la respuesta del anuncio

Para fines de depuración y registro, los anuncios cargados de forma correcta proporcionan un objeto GADResponseInfo. Este objeto contiene información sobre el anuncio que cargó, además de información sobre la cascada de mediación que se usó para cargar el anuncio.

En los casos en los que un anuncio se carga correctamente, el objeto de anuncio tiene una propiedad GADResponseInfo. Por ejemplo, GADInterstitialAd.responseInfo obtiene la información de respuesta para un anuncio intersticial cargado.

En los casos en que los anuncios no se cargan y solo hay un error disponible, GADResponseInfo está disponible con la clave GADErrorUserInfoKeyResponseInfo en el diccionario userInfo del error.

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

Información de la respuesta

A continuación, se muestra un resultado de ejemplo que muestra los datos de depuración que se muestran para un anuncio cargado:

** 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

Entre las propiedades en GADResponseInfo, se incluyen las siguientes:

Propiedad Descripción
adNetworkInfoArray Muestra la lista de GADAdNetworkResponseInfo que contienen metadatos de cada adaptador incluido en la respuesta del anuncio. Se puede usar para depurar la mediación en cascada y la ejecución de licitación. El orden de la lista coincide con el orden de la cascada de mediación para esta solicitud de anuncio.

Consulta Información de respuesta del adaptador para obtener más información.

loadedAdNetworkResponseInfo Muestra el GADAdNetworkResponseInfo correspondiente al adaptador que cargó el anuncio.
adNetworkClassName Muestra el nombre de clase de adaptador de mediación de la red de publicidad que cargó el anuncio.
responseIdentifier El identificador de respuesta es un identificador único para la respuesta del anuncio. Se puede usar para identificar y bloquear el anuncio en el Centro de revisión de anuncios (ARC).
extrasDictionary

Muestra información adicional sobre la respuesta del anuncio.

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

Información de la respuesta del adaptador

GADAdNetworkResponseInfo contiene metadatos de cada adaptador incluido en la respuesta del anuncio que se puede usar para depurar la mediación en cascada y la ejecución de ofertas. El orden de la lista coincide con el orden de la cascada de mediación para la solicitud de anuncio.

Este es el resultado de GADAdNetworkResponseInfo de muestra:

    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

Para cada red de publicidad, GADAdNetworkResponseInfo proporciona las siguientes propiedades:

Propiedad Descripción
error El error asociado con la solicitud a la red. Muestra nil si la red cargó un anuncio correctamente o si no se intentó acceder a ella.
adSourceId Es el ID de la fuente del anuncio asociado con esta respuesta del adaptador.
adSourceInstanceId El ID de instancia de la fuente del anuncio asociado con esta respuesta del adaptador.
adSourceInstanceName El nombre de la instancia de la fuente del anuncio asociada con esta respuesta de adaptador. Muestra una string vacía si no la completa un grupo de rendimiento.
adSourceName Es la fuente del anuncio que representa la red de publicidad específica que publica la impresión.
adNetworkClassName Es el nombre de clase del adaptador de red de publicidad que cargó el anuncio.
adUnitMapping Es la configuración de red establecida en la IU de Ad Manager .
latency Es la cantidad de tiempo que la red de publicidad tardó en cargar un anuncio. Muestra 0 si no se intentó acceder a la red.

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