Для отладки и ведения журналов успешно загруженные объявления предоставляют объект GADResponseInfo. Этот объект содержит информацию о загруженном объявлении, а также о каскадной медиации, использованной для загрузки объявления.
Если объявление загружается успешно, у объекта объявления есть свойство GADResponseInfo. Например, команда GADInterstitialAd.responseInfo позволяет получить информацию об ответе для загруженного межстраничного объявления.
Если объявление не загружается и доступна только ошибка, GADResponseInfo можно получить с помощью ключа GADErrorUserInfoKeyResponseInfo в словаре userInfo ошибки.
Swift
fileprivate func loadInterstitial() { AdManagerInterstitialAd.load( with: "/21775744923/example/interstitial", 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:@"/21775744923/example/interstitial" 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); }]; }
Информация об ответе
Ниже приведен пример выходных данных, содержащих отладочную информацию для загруженного объявления:
** 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
Свойства GADResponseInfo:
| Свойство | Описание |
|---|---|
adNetworkInfoArray |
Возвращает список GADAdNetworkResponseInfo, содержащих метаданные для каждого адаптера, включенного в ответ на запрос объявления. Может использоваться для отладки каскадной медиации и назначения ставок. Порядок в списке соответствует порядку в каскаде медиации для этого запроса объявления.
Подробнее об информации об ответе адаптера… |
loadedAdNetworkResponseInfo |
Возвращает значение GADAdNetworkResponseInfo, соответствующее адаптеру, который загрузил объявление. |
adNetworkClassName |
Возвращает название класса адаптера медиации рекламной сети, которая загрузила объявление. |
responseIdentifier |
Идентификатор ответа – это уникальный идентификатор ответа на запрос объявления. С помощью этого идентификатора можно найти и заблокировать объявление в Центре проверки объявлений. |
extrasDictionary |
Возвращает дополнительную информацию об ответе на запрос объявления. В разделе "Дополнительные материалы" могут быть указаны следующие ключи:
|
Swift
fileprivate func loadInterstitial() { AdManagerInterstitialAd.load( with: "/21775744923/example/interstitial", 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 creativeID = responseInfo?.extrasDictionary["creative_id"] let lineItemID = responseInfo?.extrasDictionary["line_item_id"] } }
Objective-C
- (void)loadInterstitial { [GADInterstitialAd loadWithAdUnitID:@"/21775744923/example/interstitial" 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 *creativeID = responseInfo.extrasDictionary[@"creative_id"]; NSString *lineItemID = responseInfo.extrasDictionary[@"line_item_id"]; }]; }
Информация об ответе адаптера
GADAdNetworkResponseInfo
содержит метаданные для каждого адаптера, включенного в ответ на запрос объявления. Эти данные можно использовать для отладки каскадной медиации и назначения ставок. Порядок в списке соответствует порядку в каскаде медиации для запроса объявления.
Вот пример выходных данных GADAdNetworkResponseInfo:
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
Для каждой рекламной сети GADAdNetworkResponseInfo предоставляет следующие свойства:
| Свойство | Описание |
|---|---|
error |
Ошибка, связанная с запросом к сети. Возвращает значение nil, если сеть успешно загрузила объявление или если попытка загрузки не была предпринята. |
adSourceId |
Идентификатор источника объявлений, связанный с ответом адаптера. |
adSourceInstanceId |
Идентификатор экземпляра источника объявлений, связанный с ответом адаптера. |
adSourceInstanceName |
Название экземпляра источника объявлений, связанного с ответом адаптера. Если группа доходности не заполнила значение, возвращается пустая строка. |
adSourceName |
Источник объявления, представляющий определенную рекламную сеть, в которой был показан запрос. |
adNetworkClassName |
Название класса адаптера рекламной сети, который загрузил объявление. |
adUnitMapping |
Конфигурация сети, заданная в интерфейсе Менеджера рекламы. |
latency |
Время, которое рекламная сеть потратила на загрузку объявления. Возвращает значение 0, если не было попытки подключения к сети. |
Swift
fileprivate func loadInterstitial() { AdManagerInterstitialAd.load( with: "/21775744923/example/interstitial", 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:@"/21775744923/example/interstitial" 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; }]; }