Recuperar informações sobre a resposta do anúncio

Para fins de depuração e registro, os anúncios carregados fornecem um GADResponseInfo objeto. Esse objeto contém informações sobre o anúncio que carregou, além de informações sobre a hierarquia de mediação usada para carregar o anúncio.

Para casos em que um anúncio é carregado, o objeto de anúncio tem um GADResponseInfo. Por exemplo: GADInterstitialAd.responseInfo obtém as informações de resposta para um anúncio intersticial carregado.

Nos casos em que os anúncios não são carregados e somente um erro está disponível, o GADResponseInfo está disponível usando a chave GADErrorUserInfoKeyResponseInfo no dicionário userInfo do erro.

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

Informações de resposta

Este é um exemplo de saída que mostra os dados de depuração retornados para um anúncio carregado:

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

Propriedades em GADResponseInfo incluem:

Propriedade Descrição
adNetworkInfoArray Retorna a lista de GADAdNetworkResponseInfo que contém metadados de cada adaptador incluído na resposta do anúncio. Pode ser usada para depurar a mediação em hierarquia e a execução dos lances. A ordem de a lista corresponde à ordem da hierarquia de mediação para essa solicitação de anúncio.

Consulte Informações de resposta do adaptador para mais informações informações imprecisas ou inadequadas.

loadedAdNetworkResponseInfo Retorna o GADAdNetworkResponseInfo correspondente ao adaptador que carregou o anúncio.
adNetworkClassName Retorna o nome da classe do adaptador de mediação da rede de publicidade que foi carregada o anúncio.
responseIdentifier O identificador de resposta é exclusivo para a resposta do anúncio. Isso identificador poderá ser usado para identificar e bloquear o anúncio na Central de revisão de anúncios (ARC, na sigla em inglês).
extrasDictionary

Retorna informações extras sobre a resposta do anúncio. Os extras podem retornar as seguintes chaves:

  • mediation_group_name: o nome do grupo de mediação
  • mediation_ab_test_name: o nome do teste A/B de mediação. se for o caso
  • mediation_ab_test_variant: a variante usada no teste A/B de mediação, se aplicável

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

Informações de resposta do adaptador

GADAdNetworkResponseInfo contém metadados para cada adaptador incluído na resposta do anúncio, que pode ser usado para depurar a mediação em hierarquia e a execução dos lances. A ordem da lista corresponde à ordem da hierarquia de mediação da solicitação de anúncio.

Este é um exemplo de saída 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 rede de publicidade, o GADAdNetworkResponseInfo oferece o seguinte: propriedades:

Propriedade Descrição
error O erro associado à solicitação à rede. Devoluções nil se a rede carregou um anúncio ou se a rede não foi tentada.
adSourceId O ID da origem de anúncios associado a essa resposta do adaptador. Para campanhas, 6060308706800320801 é retornado para um anúncio mediado tipo de meta da campanha, e 7068401028668408324 é retornado para impressão e clique e tipos de meta. Consulte Origens de anúncios. para a lista de possíveis IDs de origem do anúncio quando uma rede veicula o anúncio.
adSourceInstanceId O ID da instância da origem de anúncios associado a este adaptador resposta.
adSourceInstanceName O nome da instância da origem de anúncios associada a este adaptador resposta.
adSourceName A origem de anúncios que representa a rede de publicidade específica que veicula o impressão. Para campanhas, Mediated House Ads é retornado para um anúncio mediado tipo de meta da campanha, e Reservation Campaign é retornado para impressão e clique e tipos de meta. Consulte Origens de anúncios. para a lista de possíveis nomes de origens de anúncios quando uma rede de anúncios veicula o anúncio.
adNetworkClassName O nome da classe do adaptador da rede de publicidade que carregou o anúncio.
adUnitMapping A configuração de rede definida no AdMob interface.
latency O tempo que a rede de publicidade gastou carregando um anúncio. Devoluções 0 se não houver tentativa de rede.

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