W celu debugowania i rejestrowania dzienników wczytane reklamy zwracają obiekt ResponseInfo
. Ten obiekt zawiera informacje o załadowanej reklamie, a także o kaskadowym zapośredniczeniu używanym do jej załadowania.
W przypadku, gdy reklama zostanie wczytana, obiekt reklamy ma metodę
GetResponseInfo()
. Na przykład InterstitialAd.GetResponseInfo()
pobiera informacje o odpowiedzi w przypadku wczytanej reklamy pełnoekranowej.
W przypadku, gdy reklamy nie wczytują się i dostępny jest tylko błąd, informacje o odpowiedzi są dostępne w AdFailedToLoadEventArgs.LoadAdError.GetResponseInfo()
.
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();
}
Informacje o odpowiedzi
Oto przykładowe dane wyjściowe zwrócone przez ResponseInfo.ToString()
, które pokazują dane debugowania zwrócone w przypadku wczytanej reklamy:
Android
{
"Response ID": "NI3BZZDbGdyQtOUP4o21gAM",
"Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter",
"Adapter Responses": [
{
"Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
"Latency": 3585,
"Ad Source Name": "AdMob Network",
"Ad Source ID": "",
"Ad Source Instance Name": "AdMob (default)",
"Ad Source Instance ID": "",
"Credentials": {
"pubid": "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
},
"Ad Error": "null"
}
],
"Loaded Adapter Response": {
"Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
"Latency": 3585,
"Ad Source Name": "AdMob Network",
"Ad Source ID": "",
"Ad Source Instance Name": "AdMob (default)",
"Ad Source Instance ID": "",
"Credentials": {
"pubid": "ca-app-pub-3940256099942544\/9257395921\/cak=no_cache&cadc=8e&caqid=NI3BZfDhGICQtOUP7ayS4Aw"
},
"Ad Error": "null"
},
"Response Extras": {
"creative_id": "138471856178",
"line_item_id": "6707237225",
}
}
iOS
** Response Info **
Response ID: BmnCZaSbE_6Mur8P5su8gAY
Network: GADMAdapterGoogleAdMobAds
** Loaded Adapter Response **
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:AdMob Network
Ad Source ID:
Ad Source Instance Name:AdMob (default)
Ad Source Instance ID:AdMob (default)
AdUnitMapping:
{
pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
Error: (null)
Latency: 2.724
** Extras Dictionary **
{
"creative_id" = "138471856178";
"line_item_id" = "6707237225";
}
** Mediation line items **
Entry (1)
Network: GADMAdapterGoogleAdMobAds
Ad Source Name:AdMob Network
Ad Source ID:
Ad Source Instance Name:AdMob (default)
Ad Source Instance ID:AdMob (default)
AdUnitMapping:
{
pubid = "ca-pub-9939518381636264//21775744923/example/rewarded-interstitial/cak=no_cache&cadc=b0&caqid=BmnCZZjMEvzpkPIP5cWfQA";
}
Error: (null)
Latency: 2.724
Metody obiektu ResponseInfo
obejmują:
Metoda | Opis |
---|---|
GetAdapterResponses |
Zwraca listę obiektów AdapterResponseInfo zawierających metadane każdego adaptera uwzględnionego w odpowiedzi na reklamę. Można go używać do debugowania zapośredniczenia kaskadowego i ustalania stawek. Kolejność na liście odpowiada kolejności kaskady 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 reakcji to niepowtarzalny identyfikator reakcji na reklamę. Możesz użyć tego identyfikatora do zidentyfikowania i zablokowania reklamy w Centrum oceny reklam. |
GetResponseExtras |
Zwraca dodatkowe informacje o odpowiedzi reklamy. Dodatki mogą zwracać te klucze:
|
Oto przykład odczytywania wartości z załadowanego elementu 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 creativeId = extras["creative_id"];
string lineItemId = extras["line_item_id"];
}
Informacje o odpowiedzi adaptera
AdapterResponseInfo
zawiera metadane każdego adaptera uwzględnionego w odpowiedzi na reklamę, których można używać do debugowania zapośredniczenia kaskadowego i określania stawek. Kolejność na liście odpowiada kolejności w kaskadzie zapośredniczenia żądania reklamy.
Oto przykładowe dane wyjściowe zwrócone przez funkcję 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 związany z żądaniem wysłanym do sieci. Zwraca wartość null , jeśli sieć załadowała reklamę lub jeśli nie podjęto próby jej załadowania. |
AdSourceId |
Zwraca identyfikator źródła reklamy powiązany z tą odpowiedzią adaptera. W przypadku kampanii zwracana jest wartość 6060308706800320801 w przypadku typu celu kampanii „Zapośredniczone reklamy” i 7068401028668408324 w przypadku typów celów „Wyświetlenia” i „Kliknięcia”. Listę możliwych identyfikatorów źródła reklamy, gdy reklamę wyświetla sieć reklamowa, znajdziesz w sekcji Źródła reklam. |
AdSourceInstanceId |
Pobiera identyfikator instancji źródła reklamy powiązany z tą odpowiedzią adaptera. |
AdSourceInstanceName |
Pobiera nazwę wystąpienia źródła reklam powiązanego z tą odpowiedzią adaptera. |
AdSourceName |
Pobiera źródło reklamy reprezentujące konkretną sieć reklamową, która wyświetla reklamę. W przypadku kampanii zwracana jest wartość Mediated House Ads w przypadku typu celu kampanii „Zapośredniczone reklamy” i Reservation Campaign w przypadku typów celów „Wyświetlenia” i „Kliknięcia”. Listę możliwych nazw źródeł reklam, gdy sieć reklamowa wyświetla reklamę, znajdziesz w sekcji Źródła reklam. |
AdapterClassName |
Zwraca 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 załadowanego elementu 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;
}