# Flutter의 노출 수준 매출 통합

> 노출 수준 매출 (ILR) SDK API를 통합하여 각 노출의 실시간 광고 매출 데이터를 캡처하여 세부 수익화 인사이트를 제공하고 타사 Analytics 플랫폼과 원활하게 통합할 수 있습니다.

## 필수 조건##prerequisites

레벨플레이 SDK 7.0.3 이상을 애플리케이션에 올바르게 [통합했는지 확인합니다](/grow/levelplay/sdk/flutter/plugin-integration.md).

## ImpressionData 리스너 구현##implement-the-impressiondata-listener

Unity 레벨플레이 SDK는 표시된 광고에 대해 알려주는 포스트백을 실행합니다. `LevelPlayImpressionData` 리스너는 노출 데이터를 수신하기 위해 구현할 수 있는 선택적 리스너입니다. 이 리스너는 모든 광고 유닛에 대한 정보를 제공하며, 노출 수준 매출 사용하여 다양한 광고를 식별 수 있도록 지원합니다.

애플리케이션에 `LevelPlayImpressionData` 리스너를 추가하려면 Unity 레벨플레이 SDK를 초기화하기 전에 리스너를 선언해야만 정보를 손실할 수 있습니다.

```dart
LevelPlay.addImpressionDataListener(this);
```

Unity 레벨플레이 SDK는 노출 데이터와 관련된 성공 포스트백을 리스너에게 알립니다. 다음 `onImpressionSuccess` 예를 참고하십시오.

```dart
abstract 클래스 LevelPlayImpressionDataListener {
   void onImpressionSuccess(LevelPlayImpressionData? impressionData);
}
```

## ILR 데이터 통합##integrate-the-ilr-data

`LevelPlayImpressionDataListener`를 구현한 후에는 노출 데이터를 사용하여 자체 BI 툴과 DWH로 전송하거나 타사 툴과 통합할 수 있습니다.

> **Note:**
>
> 반환된 데이터에는 null 값이 포함될 수 있습니다. 데이터를 할당하기 전에 잠재적인 크래시를 피하기 위해 보호를 추가해야 합니다.

각 필드 별도로 참조하거나 allData 메서드를 사용하여 모든 정보를 얻을 수 있습니다.

```dart
@override
void onImpressionSuccess(LevelPlayImpressionData? impressionData) {
    String? auctionId = impressionData?.auctionId;
    String? adUnit = impressionData?.adUnit;
    String? adUnitName = impressionData?.adUnitName;
    String? adUnitId = impressionData?.adUnitId;
    문자열? adFormat = impressionData?.adFormat;
    String? country = impressionData?.country;
    문자열? ab = impressionData?.ab;
    String? segmentName = impressionData?.segmentName;
    String? placement = impressionData?.placement ;
    문자열? adNetwork = impressionData?.adNetwork;
    String? instanceName = impressionData?.instanceName;
    String? instanceId =  impressionData?.instanceId;
    double? revenue = impressionData?.revenue;
    String? precision = impressionData?.precision;
    double? lifetimeRevenue = impressionData?.lifetimeRevenue;
    String? encryptedCPM = impressionData?.encryptedCPM;
    double? conversionValue = impressionData?.conversionValue;
}
```
