Unity
최신 버전: v1.0.0
업데이트 시간: 2026-08-04
리소스 다운로드: 다운로드
1. 개요
6.1 버전부터 AE에 실험 키트 기능이 추가되었습니다. AE 백엔드에서 실험을 생성하고 대조군과 실험 그룹의 변수 값을 설정한 후, 클라이언트 SDK를 통해 App으로 가져와 그룹별로 유저에게 서로 다른 콘텐츠를 표시할 수 있습니다.
이 문서에서는 Unity 클라이언트 SDK의 통합 과정을 소개합니다. App 측에서는 ThinkingData SDK와의 상호 작용만 고려하면 되며, AE 백엔드의 작업 세부 사항은 신경 쓸 필요가 없습니다.
실험 SDK는 반드시 구성 센터 SDK와 함께 사용해야 한다는 점에 유의하십시오.
2. 통합
2.1 SDK 자동 통합
Unity Package Manager는 패키지의 package.json에서 Git 의존성을 선언하는 것을 지원하지 않으므로, 호스트 프로젝트의 Packages/manifest.json에 분석 SDK, 구성 센터 SDK, 실험 SDK를 함께 추가해야 합니다:
Packages/manifest.json에 다음 의존성을 추가합니다
{
"dependencies": {
"com.thinkingdata.analytics": "https://github.com/ThinkingDataAnalytics/unity-sdk.git",
"com.thinkingdata.remoteconfig": "https://github.com/ThinkingDataAnalytics/tdremoteconfig-unity.git",
"com.thinkingdata.experiment": "https://github.com/ThinkingDataAnalytics/tdexperiment-unity.git"
}
}
Package Manager → Add package from git URL에서 하나씩 추가할 수도 있습니다.
2.2 SDK 수동 통합
실험 SDK는 다음 ThinkingData SDK에 의존합니다:
| SDK 이름 | 기능 소개 | 버전 요구 사항 |
|---|---|---|
| TDAnalytics | 데이터 수집 및 처리 | >= 3.5.0 |
| TDRemoteConfig | AE 백엔드의 설정 정보 가져오기 | >= 1.2.4 |
- 페이지 상단의 리소스 다운로드 링크를 클릭하여 SDK를 다운로드하고 압축을 해제합니다
- 먼저 분석 SDK와 구성 센터 SDK에 해당하는 unitypackage를 가져옵니다
- 그다음
ta_experiment_sdk.unitypackage,ta_core_sdk.unitypackage를 가져옵니다
3. 초기화
실험 SDK는 분석 SDK와 함께 사용해야 합니다. 먼저 TDAnalytics 초기화를 완료한 후 실험 SDK를 초기화하십시오.
using System.Collections.Generic;
using ThinkingData.Analytics;
using ThinkingData.Experiment;
// 수집 SDK 초기화
TDAnalytics.Init("APP_ID", "https://YOUR_SERVER_URL");
// Experiment SDK 초기화
TDExperimentSettings settings = new TDExperimentSettings();
settings.appId = "APP_ID";
settings.serverUrl = "https://YOUR_SERVER_URL";
settings.automaticExposureTracking = true;
settings.customBucketId = new Dictionary<string, string>();
settings.customFetchParams = new Dictionary<string, object>();
settings.initCallback = new MyInitCallback();
TDExperiment.EnableLog(true);
TDExperiment.Init(settings);
// 간소화된 초기화를 사용할 수도 있습니다
// TDExperiment.Init("APP_ID", "https://YOUR_SERVER_URL");
class MyInitCallback : TDExperimentFetchListener
{
public void OnFetchSuccess()
{
// 실험 구성 정보 가져오기 성공
}
public void OnError(int code, string message)
{
// 실험 구성 정보 가져오기 실패
}
}
초기화 파라미터 설명:
- appId:APP ID
- serverUrl: 데이터 수집 주소
- automaticExposureTracking: 기본값은 true이며, get으로 실험 파라미터를 가져올 때 노출 이벤트를 자동으로 업로드합니다
- customBucketId: 커스텀 분할 단위
- customFetchParams: 클라이언트 구성 채널의 커스텀 파라미터
- enableLog: 디버깅 로그 활성화 여부(TDExperiment.EnableLog로 설정)
- initCallback.OnFetchSuccess: 실험 구성 정보 가져오기 성공
- initCallback.OnError: 실험 구성 정보 가져오기 실패
4. 사용
4.1 실험 정보 가져오기
TDExperiment.GetValueAsString(key);
TDExperiment.GetValueAsDouble(key);
TDExperiment.GetValueAsBoolean(key);
TDExperiment.GetValueAsJson(key);
위 메서드는 모두 기본값을 받는 오버로드를 제공합니다. 예: TDExperiment.GetValueAsString(key, "default").
automaticExposureTracking이 true이면 get할 때 노출 이벤트를 자동으로 업로드합니다.
4.2 노출 이벤트 업로드
Exposure 메서드를 호출하여 노출 이벤트를 수동으로 업로드할 수 있습니다.
TDExperiment.Exposure(key);
4.3 모든 실험 정보 능동적으로 가져오기
TDExperiment.Fetch(new MyFetchCallback());
class MyFetchCallback : TDExperimentFetchListener
{
public void OnFetchSuccess()
{
// 성공
}
public void OnError(int code, string message)
{
// 실패
}
}
4.4 커스텀 분할 단위
Dictionary<string, string> bucketId = new Dictionary<string, string>();
bucketId["bucket_id"] = "account_id";
TDExperiment.SetCustomBucketId(bucketId);
4.5 커스텀 요청 파라미터
Dictionary<string, object> fetchParams = new Dictionary<string, object>();
fetchParams["key"] = "value";
TDExperiment.SetCustomFetchParams(fetchParams);

