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 sobre o anúncio, além de
detalhes sobre a hierarquia de mediação usada para carregá-lo.
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() { 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); }]; }
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: 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
As propriedades em GADResponseInfo
incluem:
| Propriedade | Descrição | 
|---|---|
| adNetworkInfoArray | Retorna a lista de GADAdNetworkResponseInfoque tem metadados para cada adaptador incluído na resposta do anúncio. Pode ser
     usada para depurar a mediação em hierarquia e a execução de lances. A ordem da
     lista corresponde à ordem da hierarquia de mediação para essa solicitação de anúncio.Consulte informações sobre a resposta do adaptador para mais detalhes. | 
| loadedAdNetworkResponseInfo | Retorna a classe GADAdNetworkResponseInfocorrespondente 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() { 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"]; }]; }
Informações sobre a resposta do adaptador
O objeto GADAdNetworkResponseInfo
contém metadados para 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 à ordem da hierarquia de mediação da solicitação de anúncio.
Confira um exemplo de saída do 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 rede de publicidade, o GADAdNetworkResponseInfo fornece as seguintes
propriedades:
| Propriedade | Descrição | 
|---|---|
| error | O erro associado à solicitação para a rede. Retorna nilse a rede carregou um anúncio ou se não houver
   nenhuma tentativa de contato com ela. | 
| adSourceId | O ID da origem de anúncios associado a essa resposta do adaptador. | 
| 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. Retorna uma string vazia se não for preenchida por um grupo de rendimento. | 
| adSourceName | A origem de anúncios que representa a rede de publicidade que veicula a impressão. | 
| 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 do Ad Manager. | 
| latency | O tempo que a rede de publicidade levou para carregar um anúncio. Retorna 0se não tiver sido feita nenhuma tentativa de usar essa rede. | 
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; }]; }