Récupérer des informations sur la réponse d'annonce

À des fins de débogage et de journalisation, les annonces chargées correctement fournissent un objet GADResponseInfo. Cet objet contient des informations sur l'annonce qu'il a chargée, en plus des informations sur la cascade de médiation utilisée pour charger l'annonce.

Lorsqu'une annonce se charge correctement, l'objet d'annonce possède une propriété GADResponseInfo. Par exemple, GADInterstitialAd.responseInfo obtient les informations de réponse pour une annonce interstitielle chargée.

Si les annonces ne se chargent pas et qu'une seule erreur est disponible, GADResponseInfo est disponible à l'aide de la clé GADErrorUserInfoKeyResponseInfo dans le dictionnaire userInfo associé à l'erreur.

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "/6499/example/interstitial", 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:@"/6499/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);
  }];
}

Informations sur la réponse

Voici un exemple de résultat montrant les données de débogage renvoyées pour une annonce chargée:

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

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

Les propriétés de GADResponseInfo incluent:

Propriété Description
adNetworkInfoArray Renvoie la liste d'GADAdNetworkResponseInfo contenant les métadonnées pour chaque adaptateur inclus dans la réponse d'annonce. Permet de déboguer la médiation en cascade et l'exécution des enchères. L'ordre de la liste correspond à celui de la cascade de médiation pour cette demande d'annonce.

Pour en savoir plus, consultez Informations sur les réponses de l'adaptateur.

loadedAdNetworkResponseInfo Renvoie l'élément GADAdNetworkResponseInfo correspondant à l'adaptateur qui a chargé l'annonce.
adNetworkClassName Renvoie le nom de classe de l'adaptateur de médiation du réseau publicitaire qui a chargé l'annonce.
responseIdentifier L'identifiant de réponse est un identifiant unique associé à la réponse d'annonce. Cet identifiant peut être utilisé pour identifier et bloquer l'annonce dans le Centre de vérification des annonces.
extrasDictionary

Affiche des informations supplémentaires sur la réponse d'annonce.

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "/6499/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
  }
}

Objective-C

- (void)loadInterstitial {
  [GADInterstitialAd
   loadWithAdUnitID:@"/6499/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;
  }];
}

Informations sur la réponse de l'adaptateur

GADAdNetworkResponseInfo contient des métadonnées pour chaque adaptateur inclus dans la réponse d'annonce, qui peuvent être utilisées pour déboguer la médiation en cascade et l'exécution des enchères. L'ordre de la liste correspond à celui de la cascade de médiation pour la demande d'annonce.

Voici un exemple de sortie 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

Pour chaque réseau publicitaire, GADAdNetworkResponseInfo fournit les propriétés suivantes:

Propriété Description
error Erreur associée à la requête envoyée au réseau. Renvoie nil si le réseau a correctement chargé une annonce ou si le réseau n'a pas fait l'objet d'une tentative.
adSourceId ID de la source d'annonces associé à cette réponse d'adaptateur.
adSourceInstanceId ID d'instance de source d'annonces associé à la réponse de l'adaptateur.
adSourceInstanceName Nom de l'instance de source d'annonces associée à la réponse de cet adaptateur. Renvoie une chaîne vide si aucun groupe de rendement n'est renseigné.
adSourceName Source d'annonces représentant le réseau publicitaire spécifique qui diffuse l'impression.
adNetworkClassName Nom de classe de l'adaptateur de réseau publicitaire qui a chargé l'annonce.
adUnitMapping Configuration réseau définie à partir de l'interface utilisateur Ad Manager .
latency Temps passé par le réseau publicitaire à charger une annonce. Renvoie 0 si aucune tentative de connexion au réseau n'a été effectuée.

Swift

fileprivate func loadInterstitial() {
  GADInterstitialAd.load(
    withAdUnitID: "/6499/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:@"/6499/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;
  }];
}