Zu Fehlerbehebungs- und Logging-Zwecken wird bei erfolgreich geladenen Anzeigen ein ResponseInfo
-Objekt bereitgestellt. Dieses Objekt enthält Informationen zur geladenen Anzeige sowie Informationen zur Vermittlungsabfolge, die zum Laden der Anzeige verwendet wurde.
Wenn eine Anzeige erfolgreich geladen wird, hat das Anzeigenobjekt eine GetResponseInfo()
-Methode. Mit interstitialAd.GetResponseInfo()
werden beispielsweise die Antwortinformationen für eine geladene Interstitial-Anzeige abgerufen.
Falls Anzeigen nicht geladen werden können und nur ein Fehler vorliegt, sind die Antwortinformationen über LoadAdError.GetResponseInfo()
verfügbar.
private void LoadInterstitialAd()
{
AdRequest adRequest = new AdRequest();
InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd insterstitialAd, LoadAdError error) =>
{
// If the operation failed with a reason.
if (error != null)
{
ResponseInfo errorInfo = error.GetResponseInfo();
Debug.LogError("Interstitial ad failed to load an ad with error : " + error);
return;
}
ResponseInfo loadInfo = insterstitialAd.GetResponseInfo();
});
}
Antwortinformationen
Hier sehen Sie eine von ResponseInfo.ToString()
zurückgegebene Beispielausgabe mit den Debug-Daten, 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 der AdapterResponseInfo mit Metadaten für jeden Adapter zurück, der in der Anzeigenantwort enthalten ist. Kann verwendet werden, um Fehler bei der abfolgebasierten Vermittlung und der Gebotsausführung zu beheben. Die Reihenfolge der Liste entspricht der Reihenfolge der Vermittlungsabfolge für diese Anzeigenanfrage.
Weitere Informationen finden Sie unter Antwortinformationen des Adapters. |
GetLoadedAdapterResponseInfo |
Gibt das AdapterResponseInfo -Element zurück, das dem Adapter entspricht, mit dem die Anzeige geladen wurde. |
GetMediationAdapterClassName |
Gibt den Namen der Vermittlungsadapterklasse des Werbenetzwerks zurück, in das die Anzeige geladen wurde. |
GetResponseId |
Die Antwort-ID ist eine eindeutige Kennung für die Anzeigenantwort. Mit dieser Kennung kann die Anzeige im Überprüfungszentrum für Anzeigen identifiziert und blockiert werden. |
GetResponseExtras |
Gibt zusätzliche Informationen zur Anzeigenantwort zurück. Extras können die folgenden Schlüssel zurückgeben:
|
Hier ist ein Beispiel, wie Werte aus einem geladenen ResponseInfo
gelesen werden:
private void LoadInterstitialAd()
{
AdRequest adRequest = new AdRequest();
InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd insterstitialAd, LoadAdError error) =>
{
// If the operation failed with a reason.
if (error != null)
{
Debug.LogError("Interstitial ad failed to load an ad with error : " + error);
return;
}
ResponseInfo responseInfo = insterstitialAd.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 Adapter, der in der Anzeigenanfrage enthalten ist. Mit diesen können Sie Fehler bei der abfolgebasierten Vermittlung und bei der Gebotsausführung beheben. Die Reihenfolge der Liste entspricht der Reihenfolge der Vermittlungsabfolge für die Anzeigenanfrage.
Hier ist eine von AdapterResponseInfo
zurückgegebene Beispielausgabe:
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
Für jedes Werbenetzwerk bietet AdapterResponseInfo
folgende Methoden:
Methode | Beschreibung |
---|---|
AdError |
Ruft den mit der Anfrage an das Netzwerk verbundenen Fehler ab. Gibt null zurück, wenn eine Anzeige erfolgreich in das Werbenetzwerk geladen wurde oder wenn kein Versuch unternommen wurde, die Anzeige mit dem Werbenetzwerk zu verbinden. |
AdSourceId |
Ruft die Anzeigenquelle-ID ab, die dieser Adapterantwort zugeordnet ist. Bei Kampagnen wird bei einem Zielvorhabentyp der vermittelten Kampagne 6060308706800320801 und bei den Zielvorhabentypen für Impressionen und Klicks der Wert 7068401028668408324 zurückgegeben. Eine Liste der möglichen IDs der Anzeigenquellen bei der Auslieferung der Anzeige über ein Werbenetzwerk finden Sie unter Anzeigenquellen. |
AdSourceInstanceId |
Ruft die Anzeigenquelleninstanz-ID ab, die dieser Adapterantwort zugeordnet ist. |
AdSourceInstanceName |
Ruft den Namen der Anzeigenquelleninstanz ab, der dieser Adapterantwort zugeordnet ist. |
AdSourceName |
Ruft die Anzeigenquelle ab, die das spezifische Werbenetzwerk darstellt, über das die Impression bereitgestellt wird. Bei Kampagnen wird bei einem Zielvorhabentyp der vermittelten Kampagne Mediated House Ads und bei den Zielvorhabentypen für Impressionen und Klicks der Wert Reservation Campaign zurückgegeben. Unter Anzeigenquellen finden Sie eine Liste der möglichen Namen von Anzeigenquellen, wenn die Anzeige über ein Werbenetzwerk ausgeliefert wird. |
AdapterClassName |
Ruft einen Klassennamen ab, der das Werbenetzwerk identifiziert. |
AdUnitMapping |
Ruft den Netzwerkkonfigurationssatz von der AdMob-Benutzeroberfläche ab. |
LatencyMillis |
Ruft die Zeit ab, die das Werbenetzwerk zum Laden einer Anzeige benötigt hat.
Gibt 0 zurück, wenn kein Netzwerkverbindungsversuch unternommen wurde. |
Hier ist ein Beispiel, wie Werte aus einem geladenen AdapterResponseInfo
gelesen werden:
private void LoadInterstitialAd()
{
AdRequest adRequest = new AdRequest();
InterstitialAd.Load("AD_UNIT_ID", adRequest, (InterstitialAd insterstitialAd, LoadAdError error) =>
{
// If the operation failed with a reason.
if (error != null)
{
Debug.LogError("Interstitial ad failed to load an ad with error : " + error);
return;
}
ResponseInfo responseInfo = insterstitialAd.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;
});
}