# Reactネイティブ向けのインプレッションレベルの収益インテグレーション

> インプレッションレベル収益(ILR)SDK APIを統合して、詳細な広告パフォーマンスデータを収集し、ReactネイティブアプリケーションのAnalyticsツールに送信します。

## 前提条件##prerequisites

[ここ](/grow/levelplay/sdk/react/plugin-integration.md)で説明されているように、LevelPlay React ネイティブ SDK がアプリケーションに正しく統合されていることを確認します。

SDKの特徴と前提条件を使用して、インプレッションレベル収益(ILR)について[詳しく](/grow/levelplay/platform/api/impression-level-revenue-server-side.md)説明します。

## ImpressionData リスナーの実装##implement-the-impressiondata-listener

LevelPlay SDK はポストバックを起動して、表示された広告について通知します。ImpressionData リスナーは、インプレッションデータを受信するために実装できる任意のリスナーです。このリスナーは、すべての広告ユニットに関する情報を提供し、インプレッションレベルの収益を使用してさまざまな広告を識別できます。

ImpressionData リスナーをアプリケーションに追加する場合は、情報の損失を防ぐために、LevelPlay SDK を初期化する前にリスナーを宣言してください。

### ImpressionDataListener の設定##set-the-impressiondatalistener

```js
import { LevelPlay, type LevelPlayImpressionDataListener } from 'unity-levelplay-mediation'

const listener:LevelPlayImpressionDataListener = {
  onImpressionSuccess: (impressionData) => {
    // Use the impression data
  },
}
LevelPlay.addImpressionDataListener(listener)
```

LevelPlay SDK は、インプレッションデータに関連する成功ポストバックをリスナーに通知します。リスナーインターフェースは次のとおりです。

```js
interface LevelPlayImpressionDataListener {
  /**
   * インプレッションが正常に記録されたときに呼び出されます（広告が表示されます）。
   * Android: onImpressionSuccess
   * iOS: impressionDataDidSucceed
   */
  onImpressionSuccess: (impressionData:LevelPlayImpressionData) => void
}
```

## ILR データの統合##integrate-the-ilr-data

ImpressionDataListenerを実装したら、インプレッションデータを使用して、独自のプロプライエタリBIツールやDWHに送信したり、サードパーティのツールと統合したりできます。

> **Note:**
>
> 返されるデータに null 値が含まれている可能性があります。データを割り当てる前に保護を追加して、潜在的なクラッシュを回避してください。

`LevelPlayImpressionData` オブジェクトの各フィールドを参照できます。

```ts
import type { LevelPlayImpressionData } from 'unity-levelplay-mediation'

// LevelPlayImpressionData type:
type LevelPlayImpressionData = {
  auctionId: string | null;
  mediationAdUnitName: string | null;
  mediationAdUnitId: string | null;
  adFormat: 文字列 | null;
  country: 文字列 | null;
  ab: 文字列 | null;
  segmentName: string | null;
  配置: 文字列 | null;
  adNetwork： 文字列 | null;
  instanceName： 文字列 | null；
  instanceId: string | null;
  revenue: number | null; // Double
  precision: 文字列 | null;
  encryptedCPM: string | null;
  conversionValue: number | null; // Double
  creativeId: string | null;
}
```

フィールドとタイプの全リストについては、[インプレッションレベル収益 SDK API](/grow/levelplay/platform/fundamentals/impression-level-revenue-sdk-api.md) のドキュメントを参照してください。
