Recuperare informazioni sulla risposta di annuncio

A scopo di debug e logging, gli annunci caricati correttamente forniscono un GADResponseInfo . Questo oggetto contiene informazioni sull'annuncio caricato, oltre a Informazioni sulla struttura a cascata della mediazione utilizzata per caricare l'annuncio.

Nei casi in cui un annuncio viene caricato correttamente, l'oggetto annuncio ha un GADResponseInfo proprietà. Ad esempio: GADInterstitialAd.responseInfo ottiene le informazioni di risposta per un annuncio interstitial caricato.

Se gli annunci non vengono caricati e è disponibile solo un errore, GADResponseInfo è disponibile usando la chiave GADErrorUserInfoKeyResponseInfo nel dizionario userInfo dell'errore.

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

Informazioni sulla risposta

Di seguito è riportato un output di esempio che mostra i dati di debug restituiti per un annuncio caricato:

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

Strutture in GADResponseInfo include:

Proprietà Descrizione
adNetworkInfoArray Restituisce l'elenco di GADAdNetworkResponseInfo contenente metadati per ogni adattatore incluso nella risposta dell'annuncio. Può essere utilizzata per eseguire il debug della mediazione a cascata e dell'esecuzione dell'asta. L'ordine di questo elenco corrisponde all'ordine della struttura a cascata della mediazione per questa richiesta di annuncio.

Per saperne di più, consulta Informazioni sulla risposta dell'alimentatore informazioni.

loadedAdNetworkResponseInfo Restituisce il valore GADAdNetworkResponseInfo corrispondente all'adattatore che ha caricato l'annuncio.
adNetworkClassName Restituisce il nome della classe dell'adattatore di mediazione della rete pubblicitaria che è stata caricata dell'annuncio.
responseIdentifier L'identificatore della risposta è un identificatore univoco della risposta all'annuncio. Questo può essere utilizzato per identificare e bloccare l'annuncio nel Centro revisione annunci (ARC).
extrasDictionary

Restituisce informazioni aggiuntive sulla risposta dell'annuncio. Gli extra potrebbero restituire le seguenti chiavi:

  • mediation_group_name: il nome del gruppo di mediazione.
  • mediation_ab_test_name: il nome del test A/B di mediazione. se applicabile
  • mediation_ab_test_variant: la variante utilizzata in test A/B per la mediazione, se applicabile

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

Informazioni sulla risposta dell'adattatore

GADAdNetworkResponseInfo contiene metadati per ogni adattatore incluso nella risposta dell'annuncio, che può essere usato per eseguire il debug della mediazione a cascata e dell'esecuzione dell'asta. L'ordine dell'elenco corrisponda all'ordine della struttura a cascata della mediazione per la richiesta di annuncio.

Ecco un output di esempio 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

Per ogni rete pubblicitaria, GADAdNetworkResponseInfo fornisce quanto segue proprietà:

Proprietà Descrizione
error L'errore associato alla richiesta alla rete. Resi nil se la rete ha caricato un annuncio o se la rete non è stato tentato.
adSourceId L'ID origine annuncio associato a questa risposta dell'adattatore. Per le campagne, per un annuncio con mediazione viene restituito il valore 6060308706800320801 tipo di obiettivo della campagna, e 7068401028668408324 viene restituito per impressione e clic tipi di obiettivi. Consulta le origini annuncio per visualizzare l'elenco dei possibili ID origine annuncio quando l'annuncio viene pubblicato da una rete pubblicitaria.
adSourceInstanceId L'ID istanza dell'origine annuncio associato a questo adattatore risposta.
adSourceInstanceName Il nome dell'istanza dell'origine annuncio associato a questo adattatore risposta.
adSourceName L'origine annuncio che rappresenta la rete pubblicitaria specifica che pubblica impressione. Per le campagne, Viene restituito Mediated House Ads per un annuncio con mediazione tipo di obiettivo della campagna, e Reservation Campaign viene restituito per impressione e clic tipi di obiettivi. Consulta le origini annuncio per l'elenco di possibili nomi di origini annuncio quando una rete pubblicitaria pubblica annuncio.
adNetworkClassName Il nome della classe dell'adattatore della rete pubblicitaria che ha caricato l'annuncio.
adUnitMapping La configurazione di rete impostata AdMob Interfaccia utente.
latency La quantità di tempo che la rete pubblicitaria ha impiegato per caricare un annuncio. Resi 0 se non hai tentato di eseguire la rete.

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