В целях отладки и ведения журналов успешно загруженные объявления предоставляют объект GADResponseInfo . Этот объект содержит информацию о загруженном объявлении, а также информацию о схеме обработки запросов, использованной для загрузки объявления.
В случаях, когда объявление загружается успешно, объект объявления имеет свойство GADResponseInfo . Например, GADInterstitialAd.responseInfo получает информацию об ответе на загруженное межстраничное объявление.
В случаях, когда реклама не загружается и доступна только информация об ошибке, информация GADResponseInfo доступна по ключу GADErrorUserInfoKeyResponseInfo в словаре userInfo содержащем информацию об ошибке.
Быстрый
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); }]; }
Информация об ответе
Вот пример выходных данных, отображающих отладочную информацию, возвращаемую для загруженной рекламы:
** 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
К свойствам GADResponseInfo относятся:
| Свойство | Описание |
|---|---|
adNetworkInfoArray | Возвращает список объектов GADAdNetworkResponseInfo содержащих метаданные для каждого адаптера, включенного в ответ на объявление. Может использоваться для отладки процесса медиации и назначения ставок. Порядок элементов в списке соответствует порядку выполнения медиации для данного запроса объявления.Дополнительную информацию см. в разделе «Информация об ответе адаптера» . |
loadedAdNetworkResponseInfo | Возвращает объект GADAdNetworkResponseInfo соответствующий адаптеру, загрузившему рекламу. |
adNetworkClassName | Возвращает имя класса адаптера медиации рекламной сети, загрузившей объявление. |
responseIdentifier | Идентификатор ответа — это уникальный идентификатор ответа на объявление. Этот идентификатор можно использовать для идентификации и блокировки объявления в Центре проверки объявлений (ARC) . |
extrasDictionary | Возвращает дополнительную информацию об ответе на объявление. Дополнительные данные могут возвращать следующие ключи:
|
Быстрый
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"]; }]; }
Информация об ответе адаптера
GADAdNetworkResponseInfo содержит метаданные для каждого адаптера, включенного в ответ на объявление, которые можно использовать для отладки процесса медиации и назначения ставок. Порядок в списке соответствует порядку выполнения медиации для запроса объявления.
Вот пример выходных данных 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
Для каждой рекламной сети GADAdNetworkResponseInfo предоставляет следующие свойства:
| Свойство | Описание |
|---|---|
error | Ошибка, связанная с запросом к сети. Возвращает nil , если сеть успешно загрузила объявление или если попытка загрузки объявления не предпринималась. |
adSourceId | Идентификатор источника рекламы, связанный с этим ответом адаптера. Для кампаний возвращается 6060308706800320801 для типа цели «медиатируемая реклама», а для типов целей «показы» и «клики» — 7068401028668408324 Список возможных идентификаторов источников рекламы , когда рекламная сеть показывает рекламу, см. в разделе «Источники рекламы». |
adSourceInstanceId | Идентификатор экземпляра источника рекламы, связанный с ответом этого адаптера. |
adSourceInstanceName | Имя экземпляра источника рекламы, связанное с этим ответом адаптера. |
adSourceName | Источник объявления, представляющий конкретную рекламную сеть, которая показывает показ. Для кампаний возвращается Mediated House Ads для типа цели «Медиатированная кампания », а для типов целей «Показы» и «Клиенты» Reservation Campaign . Список возможных названий источников объявлений , когда объявление показывается рекламной сетью, см. в разделе «Источники объявлений». |
adNetworkClassName | Имя класса адаптера рекламной сети, загрузившего объявление. |
adUnitMapping | Настройки сети задаются через пользовательский интерфейс AdMob. |
latency | Время, затраченное рекламной сетью на загрузку объявления. Возвращает 0 , если попытка загрузки объявления в сеть не предпринималась. |
Быстрый
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; }]; }