# 사용자 프로퍼티

> iOS 사용자 프로퍼티 기술 자료를 통해 사용자 수준 프로퍼티, 고유 사용자 ID 및 커스텀 파라미터를 설정하여 사용자 트래킹을 구성하면 탭조이 대시보드에서 상세한 분석을 활용할 수 있습니다.

레벨과 ID 등의 다양한 사용자 프로퍼티를 설정하면 탭조이 대시보드에서 유용한 분석 정보를 자동으로 확보할 수 있습니다. 예를 들어 사용자가 레벨을 획득하거나 통과할 때마다 사용자 레벨을 설정하면 게임의 여러 레벨에서 사용자가 어떻게 분산되어 있는지 확인할 수 있습니다.

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
   ```

이를 통해 분석 대시보드의 “게임 트렌드” 섹션에서 차트를 확인할 수 있습니다.

## 사용자 ID##user-id

사용자 ID를 설정할 수 있습니다.

> **Note:**
>
> 일부 오퍼월 SDK 연동은 이 작업을 수행하지 않아도 됩니다.

Tapjoy SDK로 사용자 ID를 자동으로 생성합니다. 하지만 다음과 같은 경우 직접 사용자 ID를 지정할 수 있습니다.

1. 탭조이를 [자체 관리형 재화](/grow/offerwall/monetization/virtual-currency/self-managed-currency.md)로 사용하는 경우 사용자 ID를 지정해야 합니다. 탭조이의 서버에서 사용자가 재화를 획득했다는 메시지를 서버에 전송하면 어떤 사용자를 수신자로 식별할지 알 수 있습니다.
2. [관리형 재화](/grow/offerwall/monetization/virtual-currency/tapjoy-managed-currency.md)를 사용하고 있고 사용자가 여러 디바이스에서 재화 잔액을 유지할 수 있도록 하려면 직접 사용자 ID를 지정하고 해당 사용자의 모든 디바이스를 대상으로 동일한 ID를 지정해야 합니다.

사용자 ID를 올바르게 설정하지 못하거나 Tapjoy SDK를 통해 설정할 수 있는 상황에서 설정하지 못하면 사용자가 탭조이 활동에 대한 보상을 받지 못하거나 사용자 잔액이 이상하게 표시되고 보이지 않게 됩니다.

설득력 있는 푸시 캠페인을 사용하려면 연결 호출 전에 설정해야 합니다.

> **Note:**
>
> 개인정보 보호와 GDPR 준수 이유로, 이 호출을 통해 설정하는 사용자 ID에는 이메일 주소, 전화번호, 실명, 기타 개인 식별 정보를 사용할 수 없습니다.

사용자 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`을 한 번만 호출합니다.
* 레벨 정보를 초기화하려면 level 대신 음수 정수를 보냅니다. `[Tapjoy setUserLevel:-1];`
