Recuperar información sobre la respuesta del anuncio

Selecciona la plataforma: Android iOS Unity Flutter

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

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

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

Swift

fileprivate func loadInterstitial() {
  AdManagerInterstitialAd.load(
    with: "/21775744923/example/interstitial", request: request
  ) { (ad, error) in
    if let error = error {
      let responseInfo = (error as NSError).userInfo[GADErrorUserInfoKeyResponseInfo] as? ResponseInfo
      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);
  }];
}

Información de la respuesta

A continuación, se muestra un ejemplo de la información de salida que muestra los datos de depuración que se devolvieron 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 **
    {
        "creative_id" = "138471856178";
        "line_item_id" = "6707237225";
    }

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

Las propiedades de GADResponseInfo incluyen lo siguiente:

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

Consulta Adapter Response Info para obtener más información.

loadedAdNetworkResponseInfo Devuelve el GADAdNetworkResponseInfo correspondiente al adaptador que cargó el anuncio.
adNetworkClassName Devuelve el nombre de la clase del 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. Este identificador se puede usar para identificar y bloquear el anuncio en el Centro de revisión de anuncios (ARC).
extrasDictionary Devuelve información adicional sobre la respuesta del anuncio. Los extras pueden devolver las siguientes claves:
  • creative_id: Es el ID del concepto del anuncio seleccionado. Se devuelve solo para los anuncios de reserva.
  • line_item_id: Es el ID de la creatividad del anuncio seleccionado. Se devuelve solo para los anuncios de reserva.

Swift

fileprivate func loadInterstitial() {
  AdManagerInterstitialAd.load(
    with: "/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
    let creativeID = responseInfo?.extrasDictionary["creative_id"]
    let lineItemID = responseInfo?.extrasDictionary["line_item_id"]
  }
}

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;
    NSString *creativeID = responseInfo.extrasDictionary[@"creative_id"];
    NSString *lineItemID = responseInfo.extrasDictionary[@"line_item_id"];
  }];
}

Adapter Response Info

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

Este es un ejemplo del resultado de 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

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

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

Swift

fileprivate func loadInterstitial() {
  AdManagerInterstitialAd.load(
    with: "/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;
  }];
}