# Adobe AIR 的印象级别收入集成

> 在 Adobe AIR app程序中实现 ImpressionData 监听器来轨道和报告所有广告单位的广告收入指标。

## 先决条件##prerequisites

确保已将 LevelPlay SDK 7.0.3+ 正确集成到应用程序中。

## 实现 ImpressionData 监听器##implement-the-impressiondata-listener

LevelPlay SDK 会触发回传以通知您显示的广告。ImpressionData 监听器是一个可选监听器，可以实现该监听器来接收展示数据。此监听器将提供有关所有广告单位的信息，并且您可以使用 ILR 数据本身识别不同的广告服务。

如果要将 ImpressionData 监听器添加到应用程序中，请确保在初始化 LevelPlay SDK 之前设置监听器，以避免任何信息丢失。

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

LevelPlay 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];
    }
}
```
