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