본문으로 건너뛰기

Unity

최근 업데이트 2026. 10. 03.

최신 버전: 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를 함께 추가해야 합니다:

  1. 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
TDRemoteConfigAE 백엔드의 설정 정보 가져오기>= 1.2.4
  1. 페이지 상단의 리소스 다운로드 링크를 클릭하여 SDK를 다운로드하고 압축을 해제합니다
  2. 먼저 분석 SDK와 구성 센터 SDK에 해당하는 unitypackage를 가져옵니다
  3. 그다음 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);
이 문서가 도움이 되었나요?