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

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

В целях отладки и ведения журналов успешно загруженные объявления предоставляют объект GADResponseInfo . Этот объект содержит информацию о загруженном объявлении, а также информацию о схеме обработки запросов, использованной для загрузки объявления.

В случаях, когда объявление загружается успешно, объект объявления имеет свойство GADResponseInfo . Например, GADInterstitialAd.responseInfo получает информацию об ответе на загруженное межстраничное объявление.

В случаях, когда реклама не загружается и доступна только информация об ошибке, информация GADResponseInfo доступна по ключу GADErrorUserInfoKeyResponseInfo в словаре userInfo содержащем информацию об ошибке.

Быстрый

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 Идентификатор ответа — это уникальный идентификатор ответа на объявление. Этот идентификатор можно использовать для идентификации и блокировки объявления в Центре проверки объявлений (ARC) .
extrasDictionary Возвращает дополнительную информацию об ответе на объявление. Дополнительные данные могут возвращать следующие ключи:
  • creative_id : Идентификатор позиции выбранного объявления. Возвращается только для объявлений, связанных с бронированием.
  • line_item_id : Идентификатор креатива выбранного объявления. Возвращается только для объявлений, связанных с бронированием.

Быстрый

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 , если попытка загрузки объявления в сеть не предпринималась.

Быстрый

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