# Android の詳細設定

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

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

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

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

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

動的セグメント化

LevelPlay SDK 7.2.0 以降を使用している場合は、LevelPlaySegment API を使用してセッション中にセグメント化を変更できます。

これは次にロードされる広告に影響し、各広告単位をロードする前に呼び出すことで、 ウォーターフォール に動的に影響します。LevelPlay のセグメント化の詳細については、[こちら](/grow/levelplay/platform/settings/segments.md)を参照してください。

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

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

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

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

```java

mLPSegment.setSegmentName(name);
```

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

```java

// Create segment object
mLPSegment = new LevelPlaySegment();
// Set user's level
mLPSegment.setLevel(level);
// Set user creation date
mLPSegment.setUserCreationDate(date);
// Set user's total in-app purchases
mLPSegment.setIAPTotal(iapt);
// Set user's paying status
mLPSegment.setIsPaying(isPaying);

```

さらに、セグメントごとに最大5つのカスタムユーザープロパティを設定できます。

```java

// Set custom parameters (up to 5)
mLPSegment.setCustom(key, value);

```

次に、セグメントに基づいて広告ユニットを提供し、ユーザーの広告体験を調整するには、セグメント名またはユーザープロパティを指定して以下の機能を呼び出します。

```java

LevelPlay.setSegment(mLPSegment);

```

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

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

ユーザーが属するセグメント名を受け取るには、以下のコールバックに登録します。コールバック文字列 (セグメント名) が空を返す場合、LevelPlay セグメントモジュールでユーザーに関連するセグメントが見つかりませんでした。

```java

SegmentListener onSegmentReceived(文字列セグメント){}
```

## リワードサーバーからサーバーへのコールバックのカスタムパラメーター##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** を空の配列に設定します。

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

1. **Java**

   ```java
   LevelPlay.setMetaData("LevelPlay_Rewarded_Server_Params", List.of("key1=value1", "key2=value2"));
   ```

2. **Kotlin**

   ```kotlin
   LevelPlay.setMetaData("LevelPlay_Rewarded_Server_Params", listOf("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設定**##**price-floor-configuration**

フロア設定 API では、特定の広告単位に下限を設定できます。ユーザーごとに最低価格を設定することで、ターゲティングの効率を高め、待ち時間を削減し、広告パフォーマンスを最適化できます。

価格下限は広告オブジェクトの作成時に割り当てる必要があり、そのオブジェクトのその後のすべてのロードに適用されます。

ノート:Min SDK 8.9.0

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

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

```java

// Define a price floor configuration
var adConfig = new LevelPlayInterstitialAd.Config.Builder()
 .setBidFloor(1.23) // Set the price floor in USD
 .build();
// Apply the configuration to an interstitial ad unit
var interstitialAd = new LevelPlayInterstitialAd("adUnitId", adConfig);
```

インタースティシャルの完全な実装は[、こちら](/grow/levelplay/sdk/android/interstitial-integration.md)で利用できます。

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

```java

// Define a price floor configuration
val adConfig = LevelPlayRewardedAd.Config.Builder()
 .setBidFloor(1.23) // Set the price floor in USD
 .build()
// Apply the configuration to a rewarded ad unit
val rewardedAd = LevelPlayRewardedAd("adUnitId", adConfig)
```

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

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

```java

// Define a price floor configuration
var adConfig = new LevelPlayBannerAd.Config.Builder()
 .setBidFloor(1.23) // Set the price floor in USD
 .build();
// Apply the configuration to a banner ad unit
var bannerAd = new LevelPlayBannerAdView(context, "adUnitId", adConfig);
```

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

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

LevelPlay SDK は、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                                                                                              |
