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