---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ads.yandex.com/helpcenter/en/easy/integration/flutter/advanced-settings/ilrd.md
  - https://ads.yandex.com/helpcenter/ru/easy/integration/flutter/advanced-settings/ilrd.md
  - https://ads.yandex.com/helpcenter/zh/easy/integration/flutter/advanced-settings/ilrd.md
  - href: ru/easy/integration/flutter/advanced-settings/ilrd.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://ads.yandex.com/helpcenter/ru/llms.txt

# ILRD

**ILRD (Impression Level revenue data)** — функционал для отслеживания и сбора данных из рекламы.

#|
||

**Родительский класс**

|

**Метод**

||
||

InterstitialAdEventListener

|

`onAdImpression`

||
||

AppOpenAdEventListener

|

`onAdImpression`

||
||

RewardedAdEventListener

|

`onAdImpression`

||
||

BannerAd

|

`onImpression`

||
|#

У каждого из этих методов есть параметр `ImpressionData`, который имеет единственный метод `getRawData`, возвращающий JSON string с ILRD (см. [таблицу ниже](#data)).

{% note info %}

`onAdImpression / onImpression` срабатывает только после того, как рекламный показ был засчитан.

{% endnote %}

```C#
void _setAdEventListener(RewardedAd ad) {
  ad.setAdEventListener(
    eventListener: RewardedAdEventListener(
      // ... other methods


      onAdImpression: (ImpressionData impressionData) {
        final rawData = impressionData.getRawData();
        debugPrint('[ILRD] Raw: $rawData');

        try {
          final json = jsonDecode(rawData) as Map<String, dynamic>;

          debugPrint('[ILRD] ad_unit_id: ${json['ad_unit_id']}');
          debugPrint('[ILRD] adType: ${json['adType']}');
          debugPrint('[ILRD] currency: ${json['currency']}');
          debugPrint('[ILRD] revenue: ${json['revenue']}');
          debugPrint('[ILRD] revenueUSD: ${json['revenueUSD']}');
          debugPrint('[ILRD] precision: ${json['precision']}');

          final network = json['network'] as Map<String, dynamic>?;
          if (network != null) {
            debugPrint('[ILRD] network.name: ${network['name']}');
            debugPrint('[ILRD] network.ad_unit_id: ${network['ad_unit_id']}');
          }
        } catch (e) {
          debugPrint('[ILRD] Parse error: $e');
        }
      },
    ),
  );
}

```

#### Доступные данные {#data}

Парсинг `rawData` позволит получить следующие данные:

#|
||

**Ключ**

|

**Тип**

|

**Описание**

||
||

`ad_unit_id`

|

string

|

Уникальный идентификатор ad unit ID.

||
||

`adType`

|

string

|

Тип рекламного объявления:

- баннер (inline/sticky);

- межстраничная реклама;

- реклама с вознаграждением;

- реклама при открытии приложения.

||
||

`currency`

|

string

|

Валюта рекламной сети.

||
||

`revenue`

|

string

|

Доход за показ в валюте рекламной сети. Используется значение валюты из поля `currency`.

||
||

`revenueUSD`

|

string

|

Доход за показ, конвертированный в USD.

||
||

`precision`

|

string

|

Точность значения `revenue`. Допустимые значения:

- `publisher_defined` — значение с учетом порога CPM из интерфейса медиации;

- `estimated` — значение с учетом автостратегий.

||
||

`network.name`

|

string

|

Название рекламной сети, совершившей показ рекламы.

||
||

`network.ad_unit_id`

|

string

|

Уникальный идентификатор ad unit ID в рекламной сети, которая совершила показ.

||
|#
