Para fins de depuração e geração de registros, os anúncios carregados com sucesso fornecem um objeto GADResponseInfo. Esse objeto contém informações do anúncio, além de detalhes sobre a hierarquia de mediação usada para carregar esse anúncio.
Nos casos em que um anúncio é carregado, o objeto dele tem uma propriedade GADResponseInfo. Por exemplo, GADInterstitialAd.responseInfo recebe as informações de resposta de um anúncio intersticial carregado.
Para casos em que os anúncios não são carregados e apenas um erro está disponível, o GADResponseInfo pode ser acessado usando a chave GADErrorUserInfoKeyResponseInfo no dicionário userInfo do erro.
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); }]; }
Informações da resposta
Confira um exemplo de saída mostrando 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
As propriedades em GADResponseInfo incluem:
| Propriedade | Descrição | 
|---|---|
adNetworkInfoArray | 
   Retorna a lista de GADAdNetworkResponseInfo contendo metadados para cada adaptador incluído na resposta do anúncio. Pode ser usado para depurar a mediação em hierarquia e a execução de lances. A ordem da lista é igual à ordem da hierarquia de mediação da solicitação de anúncio.
     Consulte Informações sobre a resposta do adaptador para mais detalhes.  | 
  
loadedAdNetworkResponseInfo | 
   Retorna a classe 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 carregou o anúncio. | 
responseIdentifier | 
   O identificador de resposta é exclusivo para a resposta do anúncio. Esse identificador pode ser usado para identificar e bloquear a publicidade 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:
    
  | 
 
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"]; }]; }
Informações sobre a resposta do adaptador
GADAdNetworkResponseInfo contém metadados de cada adaptador incluído na resposta do anúncio, que podem ser usados para depurar a mediação em hierarquia e a execução de lances. A ordem da lista é igual à da hierarquia de mediação da solicitação de anúncio.
Confira um exemplo de saída do 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 fornece as seguintes propriedades:
| Propriedade | Descrição | 
|---|---|
error | 
   O erro associado à solicitação para a rede. O valor retornado será nil se a rede tiver carregado um anúncio ou se não tiver sido feita uma tentativa. | 
  
adSourceId | 
   O ID da origem de anúncios associado a essa resposta do adaptador.
   No caso de campanhas, 6060308706800320801 é retornado para o tipo de meta de campanha de anúncios mediados, e 7068401028668408324 é retornado para metas de impressões e cliques. Consulte Origens de anúncios para encontrar a lista de possíveis IDs quando uma rede de publicidade veicula o anúncio. | 
  
adSourceInstanceId | 
   O ID da instância da origem de anúncios associado a essa resposta do adaptador. | 
adSourceInstanceName | 
   O nome da instância da origem de anúncios associada a essa resposta do adaptador. | 
adSourceName | 
   A origem de anúncios que representa a rede de publicidade que veicula a impressão. No caso de campanhas, Mediated House Ads é retornado para o tipo de meta de campanha de anúncios mediados, e Reservation Campaign é retornado para metas de impressões e cliques. Consulte Origens de anúncios para encontrar a lista de possíveis nomes quando uma rede de publicidade 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 na interface da AdMob. | 
latency | 
   O tempo que a rede de publicidade levou para carregar um anúncio. Retorna 0 se não tiver sido feita uma tentativa para a rede. | 
  
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; }]; }