# React の詳細設定

> ユーザー・セグメント、カスタム・パラメータ、価格帯など、Reactの詳細設定を構成して、広告の配信とMonetizationを最適化します。

## セグメントの定義##define-segments

特定のオーディエンスに合わせて広告の配信方法を簡単に調整できるようになりました。ユーザーの詳細をサーバーに通知して、ユーザーが属するセグメントに応じてSDKが広告を配信するようにする必要があります。

LevelPlay は、ユーザーセグメントのアウトラインを作成するためにサーバーにデータを送信する 3 つの方法をサポートしています。

* **デバイスプロパティ**: LevelPlay SDK は、場所、デバイスモデル、デバイス製造元、アプリケーションバージョン、OS など、ユーザーのデバイスに自動的に関連する特定の標準パラメータを収集します。このデータを当社に送信する必要はありません。
* **ユーザープロパティ**: 作成日などの包括的なユーザーデータ (後述のサポートされているセグメントプロパティの全リストを参照) は、API を通じてリレーする必要があります。指示に従ってユーザーの詳細を送信してください。そうすれば、LevelPlay プラットフォームで定義したセグメントに基づいて、SDK がさまざまなユーザーを分類できます。
* **カスタムセグメント**: ユーザーの詳細をサーバに送信せずにカスタムセグメントを作成し、そのユーザーセグメントの広告設定を調整できます。

> **Note:**
>
> LevelPlay SDK 7.2.0 以降を使用している場合は、**LevelPlaySegment** API を使用してセッション中にセグメントを変更できます。これは次にロードされる広告に影響し、各広告単位をロードする前に呼び出すことでウォーターフォールに動的に影響します。LevelPlay のセグメント化の詳細については、[こちら](/grow/levelplay/platform/settings/segments.md)を参照してください。

### Pass ユーザープロパティ##pass-user-properties

LevelPlay プラットフォームでセグメントを定義したら、サーバーにユーザーの詳細情報を通知する必要があります。

Unity LevelPlay メディエーション パッケージから以下のものをインポートします。

```js
import {
  LevelPlaySegment,
  LevelPlay,
} 'unity-levelplay-mediation' から
```

セグメントのベースとなるサーバーに送信するプロパティを定義します。 この情報は以下の**いずれ**かの方法で送信できます。

1. ユーザーが属するセグメントに精通している場合は、セグメント名を設定します。

   ```js
   const segment = { segmentName:'YOUR_SEGMENT_NAME' };
   LevelPlay.setSegment(segment);
   ```

2. ユーザー詳細をお送りください。LevelPlay SDK は、API でユーザーをセグメントにアトリビュートするように設定できる、範囲な標準ユーザープロパティを提供します。 サポートされているセグメントのプロパティについては、以下の表を参照してください。

   ```js
   const セグメント：LevelPlaySegment = {
     level: levelParam, // Int
     isPaying: isPayingParam,
     userCreationDate: dateTimeParam, // Long, milliseconds
     iapTotal: iapTotalParam, // Double
     customParameters: {
       customKey1: 'customValue1',
       customKey2: 'customValue2',
       customKey3: 'customValue3',
       customKey4: 'customValue4',
       customKey5: 'customValue5',
     },
   };
   LevelPlay.setSegment(segment);
   ```

### サポートされるセグメントプロパティ##supported-segment-properties

| **セグメントプロパティ**   | **型**                    | **制限**                                                     | **説明**                                                                         |
| ---------------- | ------------------------ | ---------------------------------------------------------- | ------------------------------------------------------------------------------ |
| segmentName      | String                   | - 英数字 - 最大 32 文字                                           | LevelPlay アカウントのセグメントの指定された名前                                                  |
| 支払い              | Boolean                  | Yes または No                                                 | - ユーザーがアプリケーション内課金にお金を使ったことがない場合は true - ユーザーがアプリケーション内課金にお金を使ったことがない場合は false |
| iap\_total       | ダブル                      | 1-999999.99                                                | ユーザーがアプリケーション内課金に費やした金額の合計                                                     |
| userCreationDate | ロング                      | 0 より小さい値にすることはできません                                        | ユーザーがアプリケーションをインストールした日付（ミリ秒単位）                                                |
| カスタムパラメーター       | key=string, value=string | - LevelPlay は、最大 5 つのカスタムパラメーター (英数字 - 最大 32 文字) をサポートします。 | サーバにディスパッチする追加データ                                                              |

## リワードサーバー間コールバックのカスタムパラメーター##custom-parameters-for-rewarded-server-to-server-callbacks

LevelPlay 報酬ベースの広告ユニットは、広告完了イベントの成功後にユーザーに付与する必要があるゲーム内報酬を通知するサーバー側のイベントをサポートします。詳細については[、こちら](/grow/levelplay/platform/settings/server-to-server-callback.md)を参照してください。

サーバーパラメーターに加えて、実行時のカスタムパラメーターをクライアント経由で共有できます。これを実装するには、setMetaData API を使用してカスタムパラメーターを`LevelPlay_Rewarded_Server_Params`に渡します。カスタムパラメーターは、セッションを通じて複数回更新され、以前の値がオーバーライドされます。

カスタム パラメータをリセットするには、`LevelPlay_Rewarded_Server_Params` を空の配列に設定します。

### 実装コード##implementation-code

```js
LevelPlay.setMetaData('LevelPlay_Rewarded_Server_Params', ['key1=value1', 'key2=value2'])
```

その後、クエリ文字文字列にカスタムのキーと値が含まれた対応するコールバックを受け取ります。

例:

```text
http://www.mydomain.com/rewardsCallback?appUserId=[ユーザー ID]&ゲーム内報酬=[ゲーム内報酬]&eventId=[イベント ID]&itemName=[項目名]&custom_key1=値1&custom_key2=値2
```

> **Note:**
>
> 最低 LevelPlay SDK 8.11.0最大 2,048 文字

## Price floor configuration (価格帯の設定)##price-floor-configuration

フロア設定 API では、特定の広告単位に下限を設定できます。ユーザーごとに最低価格を設定することで、ターゲティングの効率を高め、待ち時間を削減し、広告パフォーマンスを最適化できます。価格下限は広告オブジェクトの作成時に割り当てる必要があり、そのオブジェクトのその後のすべてのロードに適用されます。

ノート:この特徴の最小 SDK バージョンは 8.9.0 です。

| プロパティ | 型      | 説明                                      |
| ----- | ------ | --------------------------------------- |
| 入札フロア | double | 従来のインスタンスと入札者に適用される最小 eCPM を定義する米ドルの価格。 |

### インタースティシャル広告の例##interstitial-ads-example

```js
import { LevelPlayInterstitialAd } from 'unity-levelplay-mediation'

// Create an interstitial ad and set the price floor in USD
const interstitialAd = new LevelPlayInterstitialAd('adUnitId')
interstitialAd.setBidFloor(1.23)
```

[ここ](/grow/levelplay/sdk/react/interstitial-integration.md)での完全なインタースティシャル実装

### リワード広告の例##rewarded-ads-example

```js
import { LevelPlayRewardedAd } from 'unity-levelplay-mediation'

// Create a rewarded ad and set the price floor in USD
const rewardedAd = new LevelPlayRewardedAd('adUnitId')
rewardedAd.setBidFloor(1.23)
```

リワード広告の完全実装は[、こちら](/grow/levelplay/sdk/react/rewarded-ads-integration.md)で利用できます。

### バナー広告の例##banner-ads-example

`bidFloor`を小道具として渡し、米ドルで価格下限を設定します。

```js
import { LevelPlayBannerAdView, LevelPlayAdSize } from 'unity-levelplay-mediation'

// Render a banner with a price floor of 1.23 USD
<LevelPlayBannerAdView
  adUnitId="adUnitId"
  adSize={LevelPlayAdSize.BANNER}
  placementName={null}
  bidFloor={1.23}
/>
```

バナーの完全な実装は[、こちら](/grow/levelplay/sdk/react/banner-integration.md)で入手できます。

## LevelPlay SDK のエラーコード##levelplay-sdk-error-codes

LevelPlay は、SDK インテグレーションで障害が発生した場合に説明を提供するエラーフィードバックメカニズムを提供します。これらのエラーは、問題が発生したときやインテグレーションのアスペクトが正しく完了しなかったときに発生します。

LevelPlay Error オブジェクトには、**エラー コード**と**メッセージ**が含まれます。以下は、考えられるすべてのエラーと、その機能に基づくメッセージです。

| エラーコード | 広告ユニット                | 説明                                                                                                             |
| ------ | --------------------- | -------------------------------------------------------------------------------------------------------------- |
| 508    | N/A                   | * メディエーション/ネットワークの初期化失敗
* Demand Only API を非 Demand Only モードで呼び出す
* Demand Only モードで Demand Only 以外の API を呼び出す |
| 509    | インタースティシャル、動画リワード     | **Show Fail**:No ads to show                                                                                   |
| 510    | インタースティシャル、動画リワード、バナー | **ロード失敗**:サーバー反応失敗                                                                                             |
| 520    | インタースティシャル、動画リワード     | **Show Fail**:インターネット接続なし。TrackNetworkState が有効になっている必要があります。&#xA;**Show Fail**:インターネット接続なし                    |
| 524    | インタースティシャル、動画リワード     | **Show Fail**:配置%@ はペースごとに定義された制限に達しました&#xA;**Show Fail**:配置%@ が制限に達しました                                       |
| 526    | インタースティシャル、動画リワード     | **Show Fail**:広告単位がセッションあたりの 1 日の上限に達しました                                                                      |
| 604    | バナー                   | 配置に上限があるためロードできません                                                                                             |
| 605    | バナー                   | バナーのロード中に予期しない例外が発生しました                                                                                        |
| 606    | バナー                   | 最初のロード時にすべてのネットワークでバナーが埋められない                                                                                  |
| 1007   | インタースティシャル、動画リワード     | **オークション失敗**:オークションリクエストに必要な情報がすべて含まれていませんでした                                                                  |
| 1022   | 動画リワード                | **Show Fail**:別の RV が表示されている間は RV を表示できない                                                                      |
| 1023   | 動画リワード                | **Show Fail**:Show RV called when there are no available ads to show                                           |
| 1035   | インタースティシャル            | **Empty Waterfall**                                                                                            |
| 1036   | インタースティシャル            | **Show Fail**:別のインタースティシャルが表示されている間はインタースティシャルを表示できない                                                          |
| 1037   | インタースティシャル            | **ロード失敗**:別のインタースティシャルが表示されている間はインタースティシャルをロードできません                                                            |
| 1039   | インタースティシャル            | show interstitial                                                                                              |
