Informationen zur Anzeigenantwort abrufen

Für die Fehlerbehebung und Protokollierung steht für erfolgreich geladene Anzeigen ein GADResponseInfo-Objekt zur Verfügung. Dieses Objekt enthält Informationen zur geladenen Anzeige sowie Informationen zur Vermittlungsabfolge, die zum Laden der Anzeige verwendet wird.

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

Falls Anzeigen nicht geladen werden und nur ein Fehler verfügbar ist, kann GADResponseInfo über den Schlüssel GADErrorUserInfoKeyResponseInfo im userInfo-Wörterbuch des Fehlers abgerufen werden.

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 sehen Sie 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 Attributen von GADResponseInfo gehören:

Property Beschreibung
adNetworkInfoArray Gibt die Liste von GADAdNetworkResponseInfo zurück, die Metadaten für jeden Adapter enthält, der in der Anzeigenantwort enthalten ist. Kann zur Fehlerbehebung bei der abfolgebasierten Vermittlung und Gebotsausführung verwendet werden. Die Reihenfolge der Liste entspricht der Reihenfolge der Vermittlungsabfolge für diese Anzeigenanfrage.

Weitere Informationen finden Sie unter Informationen zur Adapterantwort.

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

Gibt zusätzliche Informationen zur Anzeigenantwort zurück. „Extras“ gibt möglicherweise die folgenden Schlüssel zurück:

  • mediation_group_name: der Name der Vermittlungsgruppe
  • mediation_ab_test_name: Der Name des Vermittlungs-A/B-Tests (falls zutreffend)
  • mediation_ab_test_variant: Die Variante, die gegebenenfalls im A/B-Test der Vermittlung verwendet wird.

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 in der Anzeigenantwort enthaltenen Adapter, der zur Fehlerbehebung bei der abfolgebasierten Vermittlung und der Gebotsausführung verwendet werden kann. Die Reihenfolge der Liste entspricht der Reihenfolge der Vermittlungsabfolge für die Anzeigenanfrage.

Hier ist ein Beispiel für die GADAdNetworkResponseInfo-Ausgabe:

    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 Werbenetzwerk stellt GADAdNetworkResponseInfo die folgenden Eigenschaften bereit:

Property Beschreibung
error Der mit der Anfrage an das Netzwerk verknüpfte Fehler. Gibt nil zurück, wenn eine Anzeige im Werbenetzwerk geladen wurde oder nicht versucht wurde, das Netzwerk zu verwenden.
adSourceId Die ID der Anzeigenquelle, die dieser Adapterantwort zugeordnet ist. Bei Kampagnen wird 6060308706800320801 für den Zielvorhabentyp „Vermittelte Anzeigen“ und 7068401028668408324 für Impressions- und Klickzieltypen zurückgegeben. Eine Liste der möglichen IDs von Anzeigenquellen, wenn die Anzeige von einem Werbenetzwerk ausgeliefert wird, finden Sie unter Anzeigenquellen.
adSourceInstanceId Die ID der Anzeigenquelleninstanz, die dieser Adapterantwort zugeordnet ist.
adSourceInstanceName Der Name der Anzeigenquelleninstanz, die dieser Adapterantwort zugeordnet ist.
adSourceName Die Anzeigenquelle, die das Werbenetzwerk darstellt, das die Impression erzielt. Bei Kampagnen wird Mediated House Ads für den Zielvorhabentyp einer vermittelten Anzeige und Reservation Campaign für Zielvorhabentypen zu Impressionen und Klicks zurückgegeben. Eine Liste der möglichen Namen von Anzeigenquellen, wenn die Anzeige von einem Werbenetzwerk ausgeliefert wird, finden Sie unter Anzeigenquellen.
adNetworkClassName Der Klassenname des Werbenetzwerkadapters, über den die Anzeige geladen wurde.
adUnitMapping Die über die AdMob -UI festgelegte Netzwerkkonfiguration.
latency Die Zeit, die das Werbenetzwerk für das Laden einer Anzeige aufgewendet hat. Gibt 0 zurück, wenn kein Netzwerkversuch unternommen wurde.

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