W przypadku wczytanych reklam obiekt ResponseInfo zawiera informacje na potrzeby debugowania i rejestrowania. Oprócz informacji o kaskadzie zapośredniczenia użytej do wczytania reklamy obiekt ten zawiera informacje o wczytanej reklamie.
W przypadku, gdy reklama wczytuje się prawidłowo, obiekt reklamy ma metodę GetResponseInfo(). Na przykład interstitialAd.GetResponseInfo() pobiera informacje o odpowiedzi na wczytaną reklamę pełnoekranową.
W przypadkach, gdy reklamy nie wczytują się i dostępny jest tylko błąd, informacje o odpowiedzi są dostępne za pomocą LoadAdError.GetResponseInfo().
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();
});
}
Informacje o odpowiedzi
Oto przykładowe dane wyjściowe zwrócone przez ResponseInfo.ToString() pokazujące dane debugowania zwrócone w przypadku wczytanej reklamy:
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
Metody w obiekcie ResponseInfo obejmują:
| Metoda | Opis |
|---|---|
GetAdapterResponses |
Zwraca listę AdapterResponseInfo zawierającą metadane
każdego adaptera uwzględnionego w odpowiedzi na żądanie reklamy. Może służyć do debugowania kaskadowego zapośredniczenia i wykonywania określania stawek. Kolejność na liście odpowiada
kolejności w kaskadzie zapośredniczenia w przypadku tego żądania reklamy.
Więcej informacji znajdziesz w artykule Informacje o odpowiedzi adaptera. |
GetLoadedAdapterResponseInfo |
Zwraca AdapterResponseInfo odpowiadający adapterowi
który wczytał reklamę. |
GetMediationAdapterClassName |
Zwraca nazwę klasy adaptera zapośredniczenia sieci reklamowej, która wczytała reklamę. |
GetResponseId |
Identyfikator odpowiedzi to unikalny identyfikator odpowiedzi na żądanie reklamy. Możesz go użyć do zidentyfikowania i zablokowania reklamy w Centrum oceny reklam. |
GetResponseExtras |
Zwraca dodatkowe informacje o odpowiedzi na żądanie reklamy. Dodatkowe informacje mogą zwracać te klucze: |
Oto przykład odczytywania wartości z wczytanego obiektu ResponseInfo:
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"];
});
}
Informacje o odpowiedzi adaptera
AdapterResponseInfo zawiera metadane każdego adaptera uwzględnionego w odpowiedzi na żądanie reklamy, których można użyć do debugowania zapośredniczenia kaskadowego i wykonywania określania stawek. Kolejność na liście odpowiada kolejności w kaskadzie zapośredniczenia w przypadku żądania reklamy.
Oto przykładowe dane wyjściowe zwrócone przez AdapterResponseInfo:
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
W przypadku każdej sieci reklamowej AdapterResponseInfo udostępnia te metody:
| Metoda | Opis |
|---|---|
AdError |
Pobiera błąd powiązany z żądaniem wysłanym do sieci. Zwraca
null wartość `null`, jeśli sieć wczytała reklamę lub jeśli
nie podjęto próby połączenia z siecią. |
AdSourceId |
Pobiera identyfikator źródła reklamy powiązany z tą odpowiedzią adaptera. W przypadku kampanii,
6060308706800320801 jest zwracana w przypadku typu celu kampanii „Zapośredniczone reklamy”
,
a 7068401028668408324 jest zwracana w przypadku typów celów „Wyświetlenia” i „Kliknięcia”
. Listę możliwych identyfikatorów źródła reklamy, gdy sieć reklamowa wyświetla reklamę, znajdziesz w artykule Źródła reklam. |
AdSourceInstanceId |
Pobiera identyfikator instancji źródła reklamy powiązany z tą odpowiedzią adaptera. |
AdSourceInstanceName |
Pobiera nazwę instancji źródła reklamy powiązaną z tą odpowiedzią adaptera. |
AdSourceName |
Pobiera źródło reklamy reprezentujące konkretną sieć reklamową, która wyświetla
wyświetlenie. W przypadku kampanii w przypadku typu celu kampanii „Zapośredniczone reklamy” zwracana jest wartość Mediated House Ads, a w przypadku typów celów „Wyświetlenia” i „Kliknięcia” – Reservation Campaign. Listę możliwych nazw źródeł reklam, gdy sieć reklamowa wyświetla reklamę, znajdziesz w artykule Źródła reklam. |
AdapterClassName |
Pobiera nazwę klasy, która identyfikuje sieć reklamową. |
AdUnitMapping |
Pobiera konfigurację sieci ustawioną w interfejsie AdMob. |
LatencyMillis |
Pobiera czas, jaki sieć reklamowa poświęciła na wczytanie reklamy.
Zwraca wartość 0, jeśli nie podjęto próby połączenia z siecią. |
Oto przykład odczytywania wartości z wczytanego obiektu AdapterResponseInfo:
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;
});
}