Zur Fehlerbehebung und Protokollierung steht für erfolgreich geladene Anzeigen ein ResponseInfo
-Objekt zur Verfügung. Dieses Objekt enthält Informationen zur Anzeige, die es geladen hat, sowie Informationen zur Vermittlungsabfolge, die zum Laden der Anzeige verwendet wird.
In Fällen, in denen eine Anzeige erfolgreich geladen wird, verfügt das Anzeigenobjekt über die Methode GetResponseInfo()
. Mit InterstitialAd.GetResponseInfo()
werden beispielsweise die Antwortinformationen für eine geladene Interstitial-Anzeige abgerufen.
Wenn Anzeigen nicht geladen werden und nur ein Fehler verfügbar ist, sind die Antwortinformationen über AdFailedToLoadEventArgs.LoadAdError.GetResponseInfo()
verfügbar.
InterstitialAd ad;
private void RequestInterstitial()
{
ad = new InterstitialAd("AD_UNIT_ID");
this.interstitial.OnAdLoaded += OnAdLoaded;
this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
AdRequest request = new AdRequest.Builder().Build();
this.interstitial.LoadAd(request);
}
private void OnAdLoaded(object sender, EventArgs args)
{
ResponseInfo info = ad.GetResponseInfo();
}
private void OnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
ResponseInfo info = args.LoadAdError.GetResponseInfo();
}
Antwortinformationen
Hier sehen Sie eine Beispielausgabe von ResponseInfo.ToString()
mit den Fehlerbehebungsdaten, die für eine geladene Anzeige zurückgegeben wurden:
Android
{ "Response ID": "COOllLGxlPoCFdAx4Aod-Q4A0g", "Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter", "Adapter Responses": [ { "Adapter": "com.google.ads.mediation.admob.AdMobAdapter", "Latency": 328, "Ad Source Name": "Reservation campaign", "Ad Source ID": "7068401028668408324", "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial", "Ad Source Instance ID": "4665218928925097", "Credentials": {}, "Ad Error": "null" } ], "Loaded Adapter Response": { "Adapter": "com.google.ads.mediation.admob.AdMobAdapter", "Latency": 328, "Ad Source Name": "Reservation campaign", "Ad Source ID": "7068401028668408324", "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial", "Ad Source Instance ID": "4665218928925097", "Credentials": {}, "Ad Error": "null" }, "Response Extras": { "mediation_group_name": "Campaign" } }
iOS
** Response Info ** Response ID: CIzs0ZO5kPoCFRqWAAAdJMINpQ 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.391 ** 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.391
Zu den Methoden für das ResponseInfo
-Objekt gehören:
Methode | Beschreibung |
---|---|
GetAdapterResponses |
Gibt die Liste von AdapterResponseInfo mit Metadaten für jeden Adapter zurück, der in der Anzeigenantwort enthalten ist. Kann zur Fehlerbehebung bei der abfolgebasierten Vermittlung und bei der 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. |
GetLoadedAdapterResponseInfo |
Gibt den AdapterResponseInfo für den Adapter zurück, mit dem die Anzeige geladen wurde. |
GetMediationAdapterClassName |
Gibt den Namen der Vermittlungsadapterklasse des Werbenetzwerks zurück, über das die Anzeige geladen wurde. |
GetResponseId |
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. |
GetResponseExtras |
Gibt zusätzliche Informationen zur Anzeigenantwort zurück. Über Extras können folgende Schlüssel zurückgegeben werden:
|
Hier ein Beispiel zum Lesen von Werten aus einem geladenen ResponseInfo
:
private void OnAdLoaded(object sender, EventArgs args)
{
ResponseInfo info = ad.GetResponseInfo();
string responseId = responseInfo.GetResponseId();
string mediationAdapterClassName = responseInfo.GetMediationAdapterClassName();
List<AdapterResponseInfo> adapterResponses = responseInfo.GetAdapterResponses();
AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.GetLoadedAdapterResponseInfo();
Dictionary<string, string> extras = responseInfo.GetResponseExtras();
string mediationGroupName = extras["mediation_group_name"];
string mediationABTestName = extras["mediation_ab_test_name"];
string mediationABTestVariant = extras["mediation_ab_test_variant"];
}
Informationen zur Adapterantwort
AdapterResponseInfo
enthält Metadaten für jeden in der Anzeigenantwort enthaltenen Adapter. Diese können zur Fehlerbehebung bei der abfolgebasierten Vermittlung und Gebotsausführung verwendet werden. Die Reihenfolge der Liste entspricht der Reihenfolge der Vermittlungsabfolge für die Anzeigenanfrage.
Hier ist eine Beispielausgabe, die von AdapterResponseInfo
zurückgegeben wird:
Android
{ "Adapter": "com.google.ads.mediation.admob.AdMobAdapter", "Latency": 328, "Ad Source Name": "Reservation campaign", "Ad Source ID": "7068401028668408324", "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial", "Ad Source Instance ID": "4665218928925097", "Credentials": {}, "Ad Error": "null" }
iOS
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.391
AdapterResponseInfo
bietet für jedes Werbenetzwerk folgende Methoden:
Methode | Beschreibung |
---|---|
AdError |
Liefert den Fehler im Zusammenhang mit der Anfrage an das Netzwerk. Gibt null zurück, wenn eine Anzeige im Netzwerk geladen wurde oder kein Netzwerkversuch unternommen wurde. |
AdSourceId |
Ruft die ID der Anzeigenquelle ab, die dieser Adapterantwort zugeordnet ist. Bei Kampagnen wird 6060308706800320801 für den Zielvorhabentyp „Vermittelte Kampagne“ und 7068401028668408324 für Impressions- und Klickzieltypen zurückgegeben. Eine Liste der möglichen IDs der Anzeigenquellen, wenn die Anzeige von einem Werbenetzwerk ausgeliefert wird, finden Sie unter Anzeigenquellen. |
AdSourceInstanceId |
Ruft die ID der Anzeigenquelleninstanz ab, die dieser Adapterantwort zugeordnet ist. |
AdSourceInstanceName |
Ruft den Namen der Anzeigenquelleninstanz ab, die dieser Adapterantwort zugeordnet ist. |
AdSourceName |
Ruft die Anzeigenquelle für das Werbenetzwerk ab, von dem die Impression stammt. Bei Kampagnen wird Mediated House Ads für den Zielvorhabentyp „Vermittelte Kampagne“ und Reservation Campaign für Impressions- und Klickzieltypen zurückgegeben. Eine Liste der möglichen Namen von Anzeigenquellen, wenn die Anzeige von einem Werbenetzwerk ausgeliefert wird, finden Sie unter Anzeigenquellen. |
AdapterClassName |
Ruft einen Klassennamen ab, der das Werbenetzwerk identifiziert. |
AdUnitMapping |
Ruft die Netzwerkkonfiguration ab, die von der AdMob-Benutzeroberfläche festgelegt wurde. |
LatencyMillis |
Ruft die Zeit ab, die das Werbenetzwerk für das Laden einer Anzeige aufgewendet hat.
Gibt 0 zurück, wenn kein Netzwerkversuch unternommen wurde. |
Hier ein Beispiel zum Lesen von Werten aus einem geladenen AdapterResponseInfo
:
private void OnAdLoaded(object sender, EventArgs args)
{
ResponseInfo responseInfo = ad.GetResponseInfo();
AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.getLoadedAdapterResponseInfo();
AdError adError = loadedAdapterResponseInfo.AdError;
string adSourceId = loadedAdapterResponseInfo.AdSourceId;
string adSourceInstanceId = loadedAdapterResponseInfo.AdSourceInstanceId;
string adSourceInstanceName = loadedAdapterResponseInfo.AdSourceInstanceName;
string adSourceName = loadedAdapterResponseInfo.AdSourceName;
string adapterClassName = loadedAdapterResponseInfo.AdapterClassName;
Dictionary<string, string> credentials = loadedAdapterResponseInfo.AdUnitMapping;
long latencyMillis = loadedAdapterResponseInfo.LatencyMillis;
}