W celach debugowania i rejestrowania wczytane reklamy udostępniają obiekt GADResponseInfo. Ten obiekt zawiera informacje o wczytanej reklamie oraz o kaskadzie zapośredniczenia użytej do jej wczytania.
W przypadkach, gdy reklama została wczytana, obiekt reklamy ma właściwość GADResponseInfo. Na przykład:
GADInterstitialAd.responseInfo
pobiera informacje o odpowiedzi w przypadku wczytanej reklamy pełnoekranowej.
W przypadkach, gdy reklamy nie zostaną wczytane i dostępny jest tylko błąd, GADResponseInfo jest dostępny za pomocą klucza GADErrorUserInfoKeyResponseInfo w słowniku userInfo błędu.
Swift
fileprivate func loadInterstitial() { InterstitialAd.load( with: "ca-app-pub-3940256099942544/4411468910", request: request ) { (ad, error) in if let error = error { let responseInfo = (error as NSError).userInfo[GADErrorUserInfoKeyResponseInfo] as? ResponseInfo 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); }]; }
Informacje o odpowiedzi
Oto przykładowe dane wyjściowe zawierające dane debugowania zwrócone dla wczytanej reklamy:
** 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
Właściwości na stronie GADResponseInfo:
| Właściwość | Opis |
|---|---|
adNetworkInfoArray |
Zwraca listę GADAdNetworkResponseInfo zawierającą metadane każdego adaptera uwzględnionego w odpowiedzi na reklamę. Można go używać do debugowania kaskadowego zapośredniczenia i określania 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. |
loadedAdNetworkResponseInfo |
Zwraca GADAdNetworkResponseInfo odpowiadający adapterowi, który wczytał reklamę. |
adNetworkClassName |
Zwraca nazwę klasy adaptera zapośredniczenia sieci reklamowej, która wczytała reklamę. |
responseIdentifier |
Identyfikator odpowiedzi to unikalny identyfikator odpowiedzi na żądanie reklamy. Możesz użyć tego identyfikatora do zidentyfikowania i zablokowania reklamy w Centrum oceny reklam. |
extrasDictionary |
Zwraca dodatkowe informacje o odpowiedzi na reklamę. Dodatki mogą zwracać te klucze:
|
Swift
fileprivate func loadInterstitial() { InterstitialAd.load( with: "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"]; }]; }
Informacje o odpowiedzi adaptera
GADAdNetworkResponseInfo zawiera metadane każdego adaptera uwzględnionego w odpowiedzi na żądanie reklamy, które można wykorzystać do debugowania zapośredniczenia kaskadowego i określania stawek. Kolejność na liście odpowiada kolejności w kaskadzie zapośredniczenia w przypadku żądania reklamy.
Oto przykładowe dane wyjściowe GADAdNetworkResponseInfo:
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
W przypadku każdej sieci reklamowej GADAdNetworkResponseInfo udostępnia te właściwości:
| Właściwość | Opis |
|---|---|
error |
Błąd związany z żądaniem wysłanym do sieci. Zwraca wartość nil, jeśli sieć pomyślnie wczytała reklamę lub jeśli nie podjęto próby wczytania reklamy z sieci. |
adSourceId |
Identyfikator źródła reklam powiązany z tą odpowiedzią adaptera.
W przypadku kampanii zwracana jest wartość 6060308706800320801, jeśli typ celu kampanii to reklamy zapośredniczone, oraz 7068401028668408324, jeśli typ celu to wyświetlenia lub docelowa liczba kliknięć. Listę możliwych identyfikatorów źródeł reklam, gdy sieć reklamowa wyświetla reklamę, znajdziesz w sekcji Źródła reklam. |
adSourceInstanceId |
Identyfikator instancji źródła reklam powiązany z tą odpowiedzią adaptera. |
adSourceInstanceName |
Nazwa instancji źródła reklam powiązana z tą odpowiedzią adaptera. |
adSourceName |
Źródło reklam reprezentujące konkretną sieć reklamową, która wyświetla reklamę. W przypadku kampanii zwracana jest wartość Mediated House Ads, jeśli typ celu kampanii to reklamy zapośredniczone, oraz Reservation Campaign, jeśli typ celu to wyświetlenia lub docelowa liczba kliknięć. Listę możliwych nazw źródeł reklam, gdy sieć reklamowa wyświetla reklamę, znajdziesz w sekcji Źródła reklam. |
adNetworkClassName |
Nazwa klasy adaptera sieci reklamowej, który wczytał reklamę. |
adUnitMapping |
Konfiguracja sieci ustawiona w interfejsie AdMob. |
latency |
Czas, przez który sieć reklamowa wczytywała reklamę. Zwraca 0, jeśli nie podjęto próby połączenia z siecią. |
Swift
fileprivate func loadInterstitial() { InterstitialAd.load( with: "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; }]; }