Recupera información sobre la respuesta de solicitud de anuncio

Selecciona la plataforma: Android iOS Unity Flutter

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

Cuando 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.

Cuando los anuncios no se cargan correctamente y solo hay un error, el objeto GADResponseInfo está disponible a través de la clave GADErrorUserInfoKeyResponseInfo en el diccionario userInfo del error.

Swift

fileprivate func loadInterstitial() {
  InterstitialAd.load(
    with: "ca-app-pub-3940256099942544/4411468910", 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:@"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);
  }];
}

Información de la respuesta

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

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

Las propiedades de GADResponseInfo incluyen lo siguiente:

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

Consulta la sección Información de respuesta del adaptador para obtener más detalles.

loadedAdNetworkResponseInfo Devuelve la 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 de solicitud de anuncio. Este identificador se puede utilizar para identificar y bloquear el anuncio en el Centro de revisión de anuncios (ARC).
extrasDictionary Devuelve información adicional sobre la respuesta de solicitud de anuncio. Los parámetros adicionales pueden devolver las siguientes claves:
  • mediation_group_name: Es el nombre del grupo de mediación.
  • mediation_ab_test_name: Es el nombre de la prueba A/B de mediación, si corresponde.
  • mediation_ab_test_variant: Es la variante que se usó en la prueba A/B de mediación, si corresponde.

Swift

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

Información de respuesta del adaptador

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

Esta es la salida de muestra de 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

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

Propiedad Descripción
error Es el error asociado con la solicitud a la red. Devuelve nil si la red cargó correctamente un anuncio o si no se intentó la conexión a la red.
adSourceId Es el ID de la fuente de anuncios asociado a esta respuesta del adaptador. En el caso de las campañas, se devuelve 6060308706800320801 para un tipo de objetivo de campaña de anuncios mediados y 7068401028668408324 para los tipos de objetivos de impresiones y clics. Consulta Fuentes de anuncios para obtener la lista de posibles IDs de fuentes de anuncios cuando una red de publicidad publica el anuncio.
adSourceInstanceId Es el ID de instancia de la fuente de anuncios asociado a esta respuesta del adaptador.
adSourceInstanceName Es el nombre de la instancia de la fuente de anuncios asociado a esta respuesta del adaptador.
adSourceName Es la fuente de anuncios que representa la red de publicidad específica que publica la impresión. En el caso de las campañas, se devuelve Mediated House Ads para un tipo de objetivo de campaña de anuncios mediados y Reservation Campaign para los tipos de objetivos de impresiones y clics. Consulta Fuentes de anuncios para ver la lista de posibles nombres de fuentes de anuncios cuando una red de publicidad publica el anuncio.
adNetworkClassName Es el nombre de la clase del adaptador de la red de publicidad que cargó el anuncio.
adUnitMapping Es la configuración de red que se estableció desde la IU de AdMob.
latency Es la cantidad de tiempo que la red de publicidad dedicó a cargar un anuncio. Devuelve 0 si no se intentó la conexión de red.

Swift

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