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

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

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

В тех случаях, когда объявления не загружаются и доступна только ошибка, информация об ответе доступна через LoadAdError.getResponseInfo() .

Котлин

override fun onAdLoaded(interstitialAd: InterstitialAd)) {
  val responseInfo = interstitialAd.responseInfo
  Log.d(TAG, responseInfo.toString())
}

override fun onAdFailedToLoad(adError: LoadAdError) {
  val responseInfo = adError.responseInfo
  Log.d(TAG, responseInfo.toString())
}

Ява

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  Log.d(TAG, responseInfo.toString());
}

@Override
public void onAdFailedToLoad(LoadAdError loadAdError) {
  ResponseInfo responseInfo = loadAdError.getResponseInfo();
  Log.d(TAG, responseInfo.toString());
}

Информация об ответе

Вот пример вывода, возвращаемого ResponseInfo.toString() , показывающий данные отладки, возвращаемые для загруженного объявления:

{
  "Response ID": "COOllLGxlPoCFdAx4Aod-Q4A0g",
  "Mediation Adapter Class Name": "com.google.ads.mediation.admob.AdMobAdapter",
  "Adapter Responses": [
    {
      "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
      "Latency": 328,
      "Ad Source Name": "Reservation campaign",
      "Ad Source ID": "7068401028668408324",
      "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
      "Ad Source Instance ID": "4665218928925097",
      "Credentials": {},
      "Ad Error": "null"
    }
  ],
  "Loaded Adapter Response": {
    "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
    "Latency": 328,
    "Ad Source Name": "Reservation campaign",
    "Ad Source ID": "7068401028668408324",
    "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
    "Ad Source Instance ID": "4665218928925097",
    "Credentials": {},
    "Ad Error": "null"
  },
  "Response Extras": {
    "mediation_group_name": "Campaign"
  }
}

Методы объекта ResponseInfo включают следующее:

Метод Описание
getAdapterResponses Возвращает список AdapterResponseInfo , содержащий метаданные для каждого адаптера, включенного в ответ на объявление. Может использоваться для отладки каскадного посредничества и выполнения ставок. Порядок списка соответствует порядку каскада медиации для этого запроса объявления.

Дополнительную информацию см. в разделе Информация об ответе адаптера .

getLoadedAdapterResponseInfo Возвращает значение AdapterResponseInfo , соответствующее адаптеру, загрузившему объявление.
getMediationAdapterClassName Возвращает имя класса адаптера медиации источника объявления, загрузившего объявление.
getResponseId Идентификатор ответа – это уникальный идентификатор ответа на объявление. Этот идентификатор можно использовать для идентификации и блокировки объявления в Центре просмотра объявлений (ARC) .
getResponseExtras

Возвращает дополнительную информацию об ответе на объявление. Extras может возвращать следующие ключи:

  • mediation_group_name : имя группы медиации.
  • mediation_ab_test_name : название посреднического A/B-теста , если применимо.
  • mediation_ab_test_variant : вариант, используемый в посредническом A/B-тесте, если применимо.

Котлин

override fun onAdLoaded(interstitialAd: InterstitialAd)) {
  val responseInfo = interstitialAd.responseInfo

  val responseId = responseInfo.responseId
  val mediationAdapterClassName = responseInfo.mediationAdapterClassName
  val adapterResponses = responseInfo.adapterResponses
  val loadedAdapterResponseInfo = responseInfo.loadedAdapterResponseInfo
  val extras = responseInfo.responseExtras
  val mediationGroupName = extras.getString("mediation_group_name")
  val mediationABTestName = extras.getString("mediation_ab_test_name")
  val mediationABTestVariant = extras.getString("mediation_ab_test_variant")
}

Ява

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  MyActivity.this.interstitialAd = interstitialAd;

  ResponseInfo responseInfo = interstitialAd.getResponseInfo();
  String responseId = responseInfo.getResponseId();
  String mediationAdapterClassName = responseInfo.getMediationAdapterClassName();
  List<AdapterResponseInfo> adapterResponses = responseInfo.getAdapterResponses();
  AdapterResponseInfo loadedAdapterResponseInfo = responseInfo.getLoadedAdapterResponseInfo();
  Bundle extras = responseInfo.getResponseExtras();
  String mediationGroupName = extras.getString("mediation_group_name");
  String mediationABTestName = extras.getString("mediation_ab_test_name");
  String mediationABTestVariant = extras.getString("mediation_ab_test_variant");
}

Информация об ответе адаптера

AdapterResponseInfo содержит информацию об ответе для отдельного источника объявления в ответе на объявление.

В следующем примере выходных данных AdapterResponseInfo показаны метаданные для загруженного объявления:

{
  "Adapter": "com.google.ads.mediation.admob.AdMobAdapter",
  "Latency": 328,
  "Ad Source Name": "Reservation campaign",
  "Ad Source ID": "7068401028668408324",
  "Ad Source Instance Name": "[DO NOT EDIT] Publisher Test Interstitial",
  "Ad Source Instance ID": "4665218928925097",
  "Credentials": {},
  "Ad Error": "null"
}

Для каждого источника объявлений AdapterResponseInfo предоставляет следующие методы:

Метод Описание
getAdError Получает ошибку, связанную с запросом к источнику объявления. Возвращает значение null , если источник объявления успешно загрузил объявление или если попытка использования источника объявления не осуществлялась.
getAdSourceId Получает идентификатор источника объявления, связанный с этим ответом адаптера. Для кампаний 6060308706800320801 возвращается для типа цели кампании с посредником, а 7068401028668408324 возвращается для типов целей по показам и кликам. См. «Источники объявлений», где приведен список возможных идентификаторов источников объявлений, когда источник объявлений показывает объявление.
getAdSourceInstanceId Получает идентификатор экземпляра источника объявления, связанный с этим ответом адаптера.
getAdSourceInstanceName Получает имя экземпляра источника объявления, связанного с этим ответом адаптера.
getAdSourceName Получает имя источника объявлений, связанное с этим ответом адаптера. Для кампаний Mediated House Ads возвращается для типа цели кампании «Медиативная реклама», а Reservation Campaign возвращается для типов целей по показам и кликам. См. «Источники объявлений», где приведен список возможных названий источников объявлений, когда источник объявлений показывает объявление.
getAdapterClassName Получает имя класса адаптера источника объявления, который загрузил объявление.
getCredentials Получает учетные данные адаптера источника объявлений, указанные в пользовательском интерфейсе AdMob.
getLatencyMillis Получает время, которое адаптер источника объявлений потратил на загрузку объявления. Возвращает 0 если попытка использования источника объявления не осуществлялась.

Котлин

override fun onAdLoaded(interstitialAd: InterstitialAds) {
  val loadedAdapterResponseInfo = interstitialAd.responseInfo.loadedAdapterResponseInfo

  val adError = loadedAdapterResponseInfo.adError
  val adSourceId = loadedAdapterResponseInfo.adSourceId
  val adSourceInstanceId = loadedAdapterResponseInfo.adSourceInstanceId
  val adSourceInstanceName = loadedAdapterResponseInfo.adSourceInstanceName
  val adSourceName = loadedAdapterResponseInfo.adSourceName
  val adapterClassName = loadedAdapterResponseInfo.adapterClassName
  val credentials = loadedAdapterResponseInfo.credentials
  val latencyMillis = loadedAdapterResponseInfo.latencyMillis
}

Ява

@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
  AdapterResponseInfo loadedAdapterResponseInfo =
      interstitialAd.getResponseInfo().getLoadedAdapterResponseInfo();

  AdError adError = loadedAdapterResponseInfo.getAdError();
  String adSourceId = loadedAdapterResponseInfo.getAdSourceId();
  String adSourceInstanceId = loadedAdapterResponseInfo.getAdSourceInstanceId();
  String adSourceInstanceName = loadedAdapterResponseInfo.getAdSourceInstanceName();
  String adSourceName = loadedAdapterResponseInfo.getAdSourceName();
  String adapterClassName = loadedAdapterResponseInfo.getAdapterClassName();
  Bundle credentials = loadedAdapterResponseInfo.getCredentials();
  long latencyMillis = loadedAdapterResponseInfo.getLatencyMillis();
}