# ユーザープロパティ

> iOS の ユーザープロパティのドキュメントを使用してユーザーレベルのプロパティ、一意のユーザー ID、カスタムパラメーターを設定することでユーザートラッキングを設定し、Tapjoy ダッシュボードで詳細な分析を可能にします。

レベルや ID などのさまざまなユーザープロパティを設定することで、Tapjoy ダッシュボードから強力な分析情報を自動的に取得できます。例えば、以下のようにユーザーが新たなレベルに到達またはレベルをクリアするたびにユーザーレベルを設定することで、ゲームのレベル全体にユーザーがどのように分布しているかを把握できます。

1. **Objective-C**

   ```objective-c title="Objective-C"
   [Tapjoy setUserLevel:1]; // Set the user level to 1
   ```

2. **Swift**

   ```swift
   Tapjoy.setUserLevel(1) // Set the user level to 1
   ```

これにより、Analytics (分析) ダッシュボードの "Game Trend" (ゲームトレンド) セクションでグラフを確認できます。

## ユーザー ID##user-id

ユーザー ID を設定できます。

> **Note:**
>
> Offerwall SDK の一部のインテグレーションでは、これを行う必要はありません。

Tapjoy SDK によってユーザー ID が自動的に生成されます。ただし、状況によっては独自のユーザー ID を指定する必要があります。

1. Tapjoy を [自己管理通貨](/grow/offerwall/monetization/virtual-currency/self-managed-currency.md) で使用する場合は、ユーザー ID を指定する必要があります。これは、Tapjoy のサーバーが、ユーザーが通貨を獲得したことをサーバーに送信するときに、どのユーザーを受信者として識別するかを認識するためです。
2. [管理通貨](/grow/offerwall/monetization/virtual-currency/tapjoy-managed-currency.md) を使用していて、ユーザーが複数のデバイス間で通貨残高を維持できるようにするには、独自のユーザー ID を指定し、それが特定のユーザーのすべてのデバイスで同じであることを確認する必要があります。

ユーザー ID を適切に設定しない場合 (または Tapjoy SDK が自動的に設定できる状況で設定した場合)、ユーザーが Tapjoy のアクティビティのゲーム内報酬を受け取れなかったり、ユーザー残高の表示がおかしくなったりします。

Push to Earn キャンペーンを使用する場合は、接続呼び出しの前に設定する必要があります。

> **Note:**
>
> データプライバシーおよび GDPR への準拠のため、この呼び出しで設定したユーザー ID に E メールアドレス、電話番号、本名、その他個人を特定できる情報は使用できません。

ユーザー ID を設定する必要がある場合は、以下のコードで設定できます (ダッシュボードの設定は必要ありません)。

1. **Objective-C**

   ```objective-c
   [Tapjoy setUserID:@"A_UNIQUE_USER_ID"];
   ```

2. **Swift**

   ```swift
   Tapjoy.setUserID("A_UNIQUE_USER_ID")
   ```

ユーザー ID を確認する必要がある場合は、getter を使用できます。

1. **Objective-C**

   ```objective-c
   NSString *userID = [Tapjoy getUserID];
   ```

2. **Swift**

   ```swift
   let userID = Tapjoy.userID
   ```

## カスタムパラメーター##custom-parameters

カスタムパラメーターは以下のように設定できます。

1. **Objective-C**

   ```objective-c
   [Tapjoy setCustomParameter:@"[PARAMETER]"];
   ```

2. **Swift**

   ```swift
   Tapjoy.setCustomParameter("[PARAMETER]")
   ```

詳細については、サポートに連絡してください。

## ノート##notes

* ユーザーレベルの初期化または変更が発生したときに `setUserLevel` を 1 回だけ呼び出します。
* レベル情報をリセットするには、レベルではなく負の整数値を送信します。`[Tapjoy setUserLevel:-1];`
