Получить информацию об ответе на объявление

Выберите платформу: Android (бета-версия)Новый Android iOS Unity Flutter

В целях отладки и ведения журналов успешно загруженные объявления предоставляют объект 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 Возвращает дополнительную информацию об ответе на объявление. Дополнительные данные могут возвращать следующие ключи:
  • mediation_group_name : Название группы медиации
  • mediation_ab_test_name : Название A/B-теста по медиации , если таковой имеется.
  • mediation_ab_test_variant : Вариант, использованный в A/B-тесте медиации, если таковой имеется.

Быстрый

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;
  }];
}