---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ads.yandex.com/helpcenter/en/easy/integration/unity/advanced-settings/ilrd.md
  - https://ads.yandex.com/helpcenter/ru/easy/integration/unity/advanced-settings/ilrd.md
  - https://ads.yandex.com/helpcenter/zh/easy/integration/unity/advanced-settings/ilrd.md
  - href: ru/easy/integration/unity/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

<!-- source: ru/easy/_includes/sdk-guide.md -->
**ILRD (Impression Level revenue data)** — функционал для отслеживания и сбора данных из рекламы.
<!-- endsource: ru/easy/_includes/sdk-guide.md -->

#|
||

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

|

**Метод**

||
||

InterstitialAdEventListener

|

`HandleImpression`

||
||

NativeAdEventListener

|

`HandleImpression`

||
||

RewardedAdEventListener

|

`HandleImpression`

||
||

BannerAdEventListener

|

`HandleImpression`

||
|#

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

{% note info %}

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

{% endnote %}

```C#
[Serializable]
    public class ImpressionDataModel
    {
    public string ad_unit_id;
    public string adType;
    public string currency;
    public string revenue;
    public string revenueUSD;
    public string precision;
    public NetworkData network;
    }

[Serializable]
    public class NetworkData
    {
    public string name;
    public string ad_unit_id;
    }

    class ExampleBannerAdEventListener : BannerAdEventListener {
      // ...
      private void HandleImpression(object sender, ImpressionData impressionData) =>
        {
        var data = impressionData == null ? "null" : impressionData.rawData;

        try
        {
            var parsedData = Newtonsoft.Json.JsonConvert.DeserializeObject<ImpressionDataModel>(data);

            var adUnitId = parsedData.ad_unit_id;
            var adType = parsedData.adType;
            var currency = parsedData.currency;
            var revenue = parsedData.revenue;
            var revenueUSD = parsedData.revenueUSD;
            var precision = parsedData.precision;
            var networkName = parsedData.network.name;
            var networkAdUnitId = parsedData.network.ad_unit_id;
        }
        catch (Exception ex)
        {
            Debug.LogError($"Error parsing impression data: {ex.Message}");
        }
    }
}
```

#### Доступные данные {#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 в рекламной сети, которая совершила показ.

||
|#
