---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ads.yandex.com/helpcenter/en/dev/compose-multiplatform/impression-level.md
  - https://ads.yandex.com/helpcenter/ru/dev/compose-multiplatform/impression-level.md
  - https://ads.yandex.com/helpcenter/zh/dev/compose-multiplatform/impression-level.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ads.yandex.com/helpcenter/zh/llms.txt

# 展示层级收入数据 (ILRD)


<!-- source: zh/dev/_includes/ilrd.md -->
通过展示层级收入数据 (ILRD)，您可以处理详细的收入数据。从 Mobile Ads SDK 5.0.0 开始，SDK 为您提供每次广告展示的收入信息以及有关投放广告的广告网络（如果使用移动聚合）的信息。此信息在设备上的发布商应用中实时提供。您可以直接处理这些数据或将其传输给第三方分析服务提供商。

## 可以获得哪些数据

发布商可以获得以下数据：

#|
|| **字段**        | **类型**         | **描述**   ||
|| `ad_unit_id`| 字符串      | 唯一的广告单元 ID。||
|| `adType`    | 字符串       | 广告类型：
* 横幅广告
* 插屏广告
* 原生广告
* 激励广告  ||
   || `currency`  | 字符串    | 广告网络币种。      ||
   || `revenue`   | 字符串  | 以广告网络币种表示的每次展示收入。使用 `currency` 字段值。  ||
   || `revenueUSD`    | 字符串  | 转换为美元的每次展示收入。||
   || `precision` | 字符串  | `revenue` 值的准确性。可接受的值：
* `publisher_defined`：该值考虑了聚合界面的 CPM 价格。
* `estimated`：基于自动策略的值。||
   || `network.name` | 字符串   | 投放广告的网络名称（适用于 Yandex 聚合）。||
   || `network.ad_unit_id` | 字符串 | 投放广告的网络中的唯一广告单元 ID（适用于 Yandex 聚合）。||
   |#
<!-- endsource: zh/dev/_includes/ilrd.md -->

## 启用 ILRD

1. 按照说明集成 Mobile Ads SDK 版本 8.0.0 或更高版本（Yandex Advertising Network：[Compose Multiplatform](https://ads.yandex.com/helpcenter/zh/dev/compose-multiplatform/quick-start.md)，移动聚合：[Compose Multiplatform](https://ads.yandex.com/helpcenter/zh/dev/compose-multiplatform/quick-start-mm.md)）。

2. 实施客户端界面以跟踪事件。

   处理广告横幅时，在 `BannerEvents` 中使用 `onImpression` 回调。 对于全屏格式（`InterstitialAd`、`RewardedAd`、`AppOpenAd`），在相应的事件监听器中使用 `onAdImpression` 回调。 当记录展示时，会触发回调。 `ImpressionData` 对象公开 `rawData`，其中包含一个带有 ILRD 的 JSON 字符串。

   在获取已加载的全屏广告后（通常在通过 `rememberCoroutineScope()` 启动的协程内部），请先附加监听器，然后再调用 `show()`：

   ```kotlin
   ad.setAdEventListener(
       object : InterstitialAdEventListener {
           override fun onAdShown() {}

           override fun onAdFailedToShow(adError: AdError) {}

           override fun onAdDismissed() {}

           override fun onAdClicked() {}

           override fun onAdImpression(impressionData: ImpressionData?) {
               val rawData = impressionData?.rawData
           }
       },
   )
   ad.show()
   ```
