# ユーザープロパティ

> Flutter でレベル、ユーザー ID、その他の属性などのユーザープロパティを定義すると、Tapjoy ダッシュボード内で詳細な分析と動作追跡が可能になります。

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

```dart
Tapjoy.setUserLevel(1); // ユーザーレベルを 1 に設定する

Tapjoy.getUserLevel(); // ユーザーレベルを取得する
```

## ユーザー 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 のアクティビティのゲーム内報酬を受け取れなかったり、ユーザー残高の表示がおかしくなったりします。

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

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

```dart
Tapjoy.setUserID(userId: 'userId',
    onSetUserIDSuccess: () => {},
    onSetUserIDFailure: (error) => {}
);

Tapjoy.getUserID();
```
