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

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

Dans les cas où une annonce est chargée avec succès, l'objet de l'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 parviennent pas à se charger et qu'une seule erreur est disponible, GADResponseInfo est disponible à l'aide de la clé GADErrorUserInfoKeyResponseInfo dans le dictionnaire userInfo de 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 montrant 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 des GADAdNetworkResponseInfo contenant des métadonnées pour chaque adaptateur inclus dans la réponse de l'annonce. Peut être utilisé pour déboguer la médiation de la cascade d'annonces 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 la réponse de l'adaptateur.

loadedAdNetworkResponseInfo Renvoie la GADAdNetworkResponseInfo correspondant à l'adaptateur qui a chargé l'annonce.
adNetworkClassName Renvoie le nom de la 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 de 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

Renvoie des informations supplémentaires sur la réponse de l'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 sur la réponse de l'adaptateur

GADAdNetworkResponseInfo contient des métadonnées pour chaque adaptateur inclus dans la réponse de l'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: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 réussi à charger une annonce ou si le réseau n'a pas été tenté.
adSourceId ID de la source d'annonces associé à cette réponse de l'adaptateur. Pour les campagnes, 6060308706800320801 est renvoyé pour un type d'objectif de campagne pour les annonces par médiation, et 7068401028668408324 est renvoyé pour les types d'objectifs d'impression et de clic. Consultez Sources d'annonces pour obtenir la liste des ID de source d'annonces possibles lorsqu'un réseau publicitaire diffuse l'annonce.
adSourceInstanceId ID d'instance de la source d'annonces associé à cette réponse de l'adaptateur.
adSourceInstanceName Nom de l'instance de source d'annonces associée à cette réponse de l'adaptateur.
adSourceName Source de l'annonce 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 pour les annonces par médiation, et Reservation Campaign est renvoyé pour les types d'objectifs d'impression et de clic. Consultez 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 la classe de l'adaptateur de réseau publicitaire qui a chargé l'annonce.
adUnitMapping Configuration réseau définie depuis l'interface utilisateur AdMob.
latency Temps que le réseau publicitaire a passé à 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;
  }];
}