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.

Dans les cas où 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 le chargement des annonces échoue 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: "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);
  }];
}

Informations sur la réponse

Voici un exemple de sortie affichant les données de débogage renvoyées pour une annonce chargée:

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

Les propriétés de GADResponseInfo incluent:

Propriété Description
adNetworkInfoArray Renvoie la liste de GADAdNetworkResponseInfo contenant les métadonnées de chaque adaptateur inclus dans la réponse d'annonce. Peut être utilisé 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 cette demande d'annonce.

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

loadedAdNetworkResponseInfo Renvoie le 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. Les extras peuvent renvoyer les clés suivantes:

  • mediation_group_name: nom du groupe de médiation
  • mediation_ab_test_name: nom du test A/B de médiation, le cas échéant
  • mediation_ab_test_variant: variante utilisée dans le test A/B de médiation, le cas échéant

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

Informations de réponse de l'adaptateur

GADAdNetworkResponseInfo contient des métadonnées pour chaque adaptateur inclus dans la réponse d'annonce. Ces métadonnées 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 à l'ordre de la cascade de médiation pour la demande d'annonce.

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

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ée à la réponse de l'adaptateur. Pour les campagnes, 6060308706800320801 est renvoyé pour le type d'objectif de campagne d'annonces par médiation, et 7068401028668408324 est renvoyé pour les types d'objectif d'impressions et de clics. Consultez la section Sources d'annonces pour obtenir la liste des ID de sources d'annonces possibles lorsqu'un réseau publicitaire diffuse l'annonce.
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 l'adaptateur.
adSourceName Source d'annonces représentant le réseau publicitaire spécifique qui diffuse l'impression. Pour les campagnes, Mediated House Ads est renvoyé pour un type d'objectif de campagne d'annonces par médiation, et Reservation Campaign pour les types d'objectif d'impressions et de clics. Consultez la section Sources d'annonces pour obtenir la liste des noms de sources d'annonces possibles lorsqu'un réseau publicitaire diffuse l'annonce.
adNetworkClassName Nom de classe de l'adaptateur de réseau publicitaire qui a chargé l'annonce.
adUnitMapping La configuration réseau définie à partir de l'interface utilisateur AdMob
latency Temps passé par le réseau publicitaire à charger une annonce. Renvoie 0 si le réseau n'a pas été tenté.

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