# Adobe AIR의 노출 수준 매출 통합

> Adobe AIR 앱에서 ImpressionData 리스너를 구현하여 모든 광고 유닛의 광고 매출 지표 트래킹하고 보고합니다.

## 필수 조건##prerequisites

레벨플레이 SDK 7.0.3 이상을 애플리케이션 올바르게 연동했는지 확인합니다.

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

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

애플리케이션 ImpressionData 리스너를 추가하려면 레벨플레이 SDK를 초기화하기 전에 리스너를 설정해야 정보 손실을 방지할 수 있습니다.

```js
IronSource.instance.addEventListener("onImpressionDataDidSucceed", onImpressionDataDidSucceed);
```

레벨플레이 SDK는 노출 데이터와 관련된 성공 포스트백을 리스너에게 알립니다. onImpressionSuccess는 아래에 설명되어 있습니다.

```js
private function onImpressionDataDidSucceed(event:DataEvent):void {
}
```

보상형 비디오 및 인터스티셜 광고가 열리면 **onImpressionSuccess**가 보고됩니다. 배너의 경우 로드 성공 시 노출이 보고됩니다.

## 노출 수준 매출 통합##integrate-impression-level-revenue

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

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

```js
//Get values from Json of data
var jsonString:String = event.data;
var decodedObj:Object = JSON.parse(jsonString);
for (var key:String in decodedObj) {
    if (key == "adUnit") {
        var adUnit:String = decodedObj[key];
    }
    if (key == "instanceId") {
        var instanceId:String = decodedObj[key];
    }
    if (key == "country") {
        var country:String = decodedObj[key];
    }
     if (key == "auctionId") {
        var auctionId:String = decodedObj[key];
    }
     if (key == "adNetwork") {
        var adNetwork:String = decodedObj[key];
    }
     if (key == "precision") {
        var precision:String = decodedObj[key];
    }
     if (key == "instanceName") {
        var instanceName:String = decodedObj[key];
    }
     if (key == "revenue") {
        var revenue:int = decodedObj[key];
    }
     if (key == "ab") {
        var ab:String = decodedObj[key];
    }
     if (key == "lifetimeRevenue") {
        var lifetimeRevenue:int = decodedObj[key];
    }
}
```
