integrationlatest데이터 연동 / iOS
iOS
최신 버전: v1.0.2
업데이트 시간: 2026-07-24
리소스 다운로드: 다운로드
1. 개요
6.1 버전부터 AE에 실험 키트 기능이 추가되었습니다. AE 백엔드에서 실험을 생성하고 대조군과 실험 그룹의 변수 값을 설정한 후, 클라이언트 SDK를 통해 App으로 가져와 그룹별로 유저에게 서로 다른 콘텐츠를 표시할 수 있습니다.
이 문서에서는 클라이언트 SDK의 통합 과정을 소개합니다. App 측에서는 ThinkingData SDK와의 상호 작용만 고려하면 되며, AE 백엔드의 작업 세부 사항은 신경 쓸 필요가 없습니다.
실험 SDK는 반드시 구성 센터 SDK와 함께 사용해야 한다는 점에 유의하십시오.
2. 통합
2.1 CocoaPods 자동 통합
- 프로젝트의
Podfile에 의존성을 추가합니다:
platform :ios, '9.0'
use_frameworks!
target 'YourApp' do
pod 'TDExperiment', '1.0.2'
end
- 설치 명령을 실행합니다:
pod install
설치가 완료되면 .xcworkspace로 프로젝트를 엽니다.
2.2 SDK 수동 통합
실험 SDK에는 다음 ThinkingData SDK가 필요합니다:
| SDK 이름 | 기능 소개 | 버전 요구 사항 |
|---|---|---|
| ThinkingSDK | 데이터 수집 및 처리 | >= 3.1.6 |
| TDRemoteConfig | AE 백엔드의 설정 정보 가져오기 | >= 1.3.1 |
- 페이지 상단의 리소스 다운로드 링크를 클릭하여 SDK를 다운로드하고 압축을 해제합니다
ThinkingSDK.xcframework,ThinkingDataCore.xcframework,TDRemoteConfig.xcframework,TDExperiment.xcframework를 프로젝트로 드래그하고 Embed & Sign을 선택합니다(또는 프로젝트의 정적 라이브러리 정책에 따라 설정)- Build Settings에서 Framework Search Paths에 위의 xcframework 경로가 포함되어 있는지 확인합니다
3. 초기화
실험 SDK는 분석 SDK와 함께 사용해야 합니다. 먼저 TDAnalytics 초기화를 완료한 후 실험 SDK를 초기화하십시오.
#import <ThinkingSDK/ThinkingSDK.h>
#import <TDExperiment/TDExperiment.h>
// 수집 SDK 초기화
[TDAnalytics startAnalyticsWithAppId:@"APP_ID" serverUrl:@"https://YOUR_SERVER_URL"];
// 실험 SDK 초기화
TDExperimentConfig *config = [[TDExperimentConfig alloc] initWithAppId:@"APP_ID"
serverUrl:@"https://YOUR_SERVER_URL"];
config.automaticExposureTracking = YES;
config.customBucketId = @{ @"bucket_id": @"account_id" };
config.customFetchParams = @{ @"key": @"value" };
TDExperimentTask *startupTask = [[TDExperimentTask alloc] init];
[startupTask addOnSuccessListener:^{
// 실험 구성 정보 가져오기 성공
}];
[startupTask addOnFailureListener:^(NSInteger code, NSString *message) {
// 실험 구성 정보 가져오기 실패
}];
config.startupTask = startupTask;
[TDExperiment enableLog:YES];
[TDExperiment startWithConfig:config];
간소화된 시작 방식을 사용할 수도 있습니다:
[TDExperiment startWithAppId:@"APP_ID" serverUrl:@"https://YOUR_SERVER_URL"];
초기화 파라미터 설명:
- appId:APP ID
- serverUrl: 데이터 수집 주소
- automaticExposureTracking: 기본값은 YES이며, get으로 실험 파라미터를 가져올 때 노출 이벤트를 자동으로 업로드합니다
- customBucketId: 커스텀 분할 단위
- customFetchParams: 클라이언트 구성 채널의 커스텀 파라미터
- startupTask: 시작 시 처음으로 실험 구성을 가져올 때의 콜백 작업(addOnSuccessListener / addOnFailureListener로 등록)
- enableLog: 디버깅 로그 활성화 여부(TDExperiment.enableLog로 설정)
4. 사용
4.1 실험 정보 가져오기
[TDExperiment getValueAsString:key];
[TDExperiment getValueAsString:key defaultValue:@"default"];
[TDExperiment getValueAsNumber:key];
[TDExperiment getValueAsNumber:key defaultValue:@0];
[TDExperiment getValueAsBoolean:key];
[TDExperiment getValueAsBoolean:key defaultValue:NO];
[TDExperiment getValueAsJson:key];
[TDExperiment getValueAsJson:key defaultValue:@{}];
automaticExposureTracking이 YES이면 get할 때 노출 이벤트를 자동으로 업로드합니다.
4.2 노출 이벤트 업로드
exposure 메서드를 호출하여 노출 이벤트를 수동으로 업로드할 수 있습니다.
[TDExperiment exposure:key];
4.3 모든 실험 정보 능동적으로 가져오기
[TDExperiment fetch];
[[[TDExperiment fetch]
addOnSuccessListener:^{
// 성공
}]
addOnFailureListener:^(NSInteger code, NSString *message) {
// 실패
}];
4.4 커스텀 분할 단위
NSDictionary<NSString *, NSString *> *bucketId = @{ @"bucket_id": @"account_id" };
[TDExperiment setCustomBucketId:bucketId];
4.5 커스텀 요청 파라미터
NSDictionary<NSString *, NSObject *> *params = @{ @"key": @"value" };
[TDExperiment setCustomFetchParams:params];
이 문서가 도움이 되었나요?

