본문으로 건너뛰기

Android

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

최신 버전: v1.0.1

업데이트 시간: 2026-07-24

리소스 다운로드: 다운로드

1. 개요​

6.1 버전부터 AE에 실험 키트 기능이 추가되었습니다. AE 백엔드에서 실험을 생성하고 대조군과 실험 그룹의 변수 값을 설정한 후, 클라이언트 SDK를 통해 App으로 가져와 그룹별로 유저에게 서로 다른 콘텐츠를 표시할 수 있습니다.

이 문서에서는 클라이언트 SDK의 통합 과정을 소개합니다. App 측에서는 ThinkingData SDK와의 상호 작용만 고려하면 되며, AE 백엔드의 작업 세부 사항은 신경 쓸 필요가 없습니다.

실험 SDK는 반드시 구성 센터 SDK와 함께 사용해야 한다는 점에 유의하십시오.

2. 통합​

2.1 SDK 자동 통합​

  1. Project 수준의 build.gradle 파일에 다음 의존성 설정을 추가합니다
buildscript {
repositories {
jcenter()
mavenCentral()
}
}
  1. module 프로젝트 디렉터리의 build.gradle 파일에 의존성을 추가합니다.
dependencies {
implementation 'cn.thinkingdata.android:TDExperiment:1.0.1'
}

2.2 SDK 수동 통합​

구성 센터에는 다음 ThinkingData SDK가 필요합니다:

SDK 이름기능 소개버전 요구 사항
TDAnalytics데이터 수집 및 처리>= 3.3.6
TDRemoteConfigAE 백엔드의 설정 정보 가져오기>= 1.3.0

1. 페이지 상단의 리소스 다운로드 링크를 클릭하여 SDK를 다운로드하고 압축을 해제합니다

2. libs 폴더에 TDAnalytics.aar, TDCore.aar, TDRemoteConfig.aar, TDExperiment.aar를 추가합니다

3. build.gradle 에 다음 설정을 추가합니다

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
}

3. 초기화​

실험 SDK는 분석 SDK와 함께 사용해야 합니다. 먼저 TDAnalytics 초기화를 완료한 후 실험 SDK를 초기화하십시오.

// 수집 SDK 초기화
TDAnalytics.init(context, "APP_ID", "https://YOUR_SERVER_URL");

// 실험 SDK 초기화
TDExperimentConfig config = new TDExperimentConfig("APP_ID", "https://YOUR_SERVER_URL");
config.automaticExposureTracking = true;
config.customBucketId = new HashMap<>();
config.customFetchParams = new JSONObject();
config.initCallback = new TDCallback() {
@Override
public void onFetchSuccess() {
// 실험 구성 정보 가져오기 성공
}

@Override
public void onError(int code, String message) {
// 실험 구성 정보 가져오기 실패
}
};
TDExperiment.enableLog(true);
TDExperiment.init(context, config);

초기화 파라미터 설명:

  • 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);

automaticExposureTracking이 true이면 get할 때 노출 이벤트를 자동으로 업로드합니다.

4.2 노출 이벤트 업로드​

exposure 메서드를 호출하여 노출 이벤트를 수동으로 업로드할 수 있습니다.

TDExperiment.exposure(key);

4.3 모든 실험 정보 능동적으로 가져오기​

TDExperiment.fetch();

TDExperiment.fetch().addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess() {
// 성공
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(int code, String msg) {
// 실패
}
});

4.4 커스텀 분할 단위​

Map<String, String> bucketId = new HashMap<>();
bucketId.put("bucket_id", "account_id");
TDExperiment.setCustomBucketId(bucketId);

4.5 커스텀 요청 파라미터​

JSONObject params = new JSONObject();
params.put("key", "value");
TDExperiment.setCustomFetchParams(params);
이 문서가 도움이 되었나요?