Informationen zur Anzeigenantwort abrufen

Zum Zwecke der Fehlerbehebung und Protokollierung stellen erfolgreich geladene Anzeigen ein GADResponseInfo-Objekt bereit. Dieses Objekt enthält Informationen zur geladenen Anzeige sowie zur Vermittlungsabfolge, die zum Laden der Anzeige verwendet wurde.

Wenn eine Anzeige erfolgreich geladen wird, hat das Anzeigenobjekt das Attribut GADResponseInfo. Mit GADInterstitialAd.responseInfo werden beispielsweise die Antwortinformationen für eine geladene Interstitial-Anzeige abgerufen.

Wenn Anzeigen nicht geladen werden und nur ein Fehler verfügbar ist, ist GADResponseInfo über den Schlüssel GADErrorUserInfoKeyResponseInfo im userInfo-Dictionary des Fehlers verfügbar.

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

Antwortinformationen

Hier ist eine Beispielausgabe mit den Debugging-Daten, die für eine geladene Anzeige zurückgegeben wurden:

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

Zu den Eigenschaften von GADResponseInfo gehören:

Attribut Beschreibung
adNetworkInfoArray Gibt die Liste der GADAdNetworkResponseInfo zurück, die Metadaten für jeden in der Anzeigenantwort enthaltenen Adapter enthalten. Kann zum Debuggen der abfolgebasierten Vermittlung und Gebotsausführung verwendet werden. Die Reihenfolge in der Liste entspricht der Reihenfolge der Vermittlungsabfolge für diese Anzeigenanfrage.

Weitere Informationen finden Sie unter Adapter-Antwortinformationen.

loadedAdNetworkResponseInfo Gibt den GADAdNetworkResponseInfo zurück, der dem Adapter entspricht, über den die Anzeige geladen wurde.
adNetworkClassName Gibt den Namen der Vermittlungsadapterklasse des Werbenetzwerks zurück, das die Anzeige geladen hat.
responseIdentifier Die Antwort-ID ist eine eindeutige Kennung für die Anzeigenantwort. Anhand dieser Kennung kann die Anzeige im Überprüfungszentrum für Anzeigen identifiziert und blockiert werden.
extrasDictionary

Gibt zusätzliche Informationen zur Anzeigenantwort zurück. Für „Extras“ können die folgenden Schlüssel zurückgegeben werden:

  • mediation_group_name: Der Name der Vermittlungsgruppe
  • mediation_ab_test_name: Der Name des A/B-Tests mit Vermittlungsgruppen, falls zutreffend
  • mediation_ab_test_variant: Die im A/B-Test mit Vermittlungsgruppen verwendete Variante, sofern zutreffend

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

Informationen zur Adapterantwort

GADAdNetworkResponseInfo enthält Metadaten für jeden Adapter in der Anzeigenantwort, die zum Debuggen der Vermittlungsabfolge und der Gebotsausführung verwendet werden können. Die Reihenfolge der Liste stimmt mit der Reihenfolge der Vermittlungsabfolge für die Anzeigenanfrage überein.

Hier eine Beispielausgabe von 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

Für jedes Anzeigennetzwerk bietet GADAdNetworkResponseInfo die folgenden Properties:

Attribut Beschreibung
error Der Fehler, der mit der Anfrage an das Netzwerk verknüpft ist. Wird nil zurückgegeben, wenn das Netzwerk eine Anzeige geladen hat oder wenn kein Versuch unternommen wurde, eine Anzeige aus dem Netzwerk abzurufen.
adSourceId Die Anzeigenquellen-ID, die mit dieser Adapterantwort verknüpft ist. Bei Kampagnen wird 6060308706800320801 für den Zielvorhabentyp „Vermittelte Anzeigen“ zurückgegeben und 7068401028668408324 für Impressions- und Klickzielvorhaben. Unter Anzeigenquellen finden Sie eine Liste der möglichen Anzeigenquellen-IDs, wenn die Anzeige von einem Werbenetzwerk ausgeliefert wird.
adSourceInstanceId Die Anzeigenquellen-Instanz-ID, die mit dieser Adapterantwort verknüpft ist.
adSourceInstanceName Der Name der Anzeigenquelleninstanz, die mit dieser Adapterantwort verknüpft ist.
adSourceName Die Anzeigenquelle, die das jeweilige Werbenetzwerk darstellt, über das die Impression ausgeliefert wird. Bei Kampagnen wird Mediated House Ads für den Zielvorhabentyp „Vermittelte Anzeigen“ und Reservation Campaign für die Zielvorhabentypen „Impressionen“ und „Klicks“ zurückgegeben. Unter Anzeigenquellen finden Sie eine Liste der möglichen Namen von Anzeigenquellen, wenn die Anzeige über ein Werbenetzwerk ausgeliefert wird.
adNetworkClassName Der Klassenname des Werbenetzwerkadapters, über den die Anzeige geladen wurde.
adUnitMapping Die Netzwerkkonfiguration, die über die AdMob-Benutzeroberfläche festgelegt wurde.
latency Die Zeit, die das Werbenetzwerk für das Laden einer Anzeige benötigt hat. Gibt 0 zurück, wenn kein Versuch unternommen wurde, eine Verbindung zum Netzwerk herzustellen.

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