본문으로 건너뛰기

iOS

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

iOS SDK의 최소 지원 시스템 버전은 iOS 9.0입니다

최신 버전: v1.4.1

업데이트 시간: 2026-05-12

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

1. 개요​

AE 4.4 버전부터 운영 모듈에 클라이언트 트리거 작업 기능이 출시되어, 앱 내 신규 유저 가입, 캐릭터 생성 등의 시나리오에서 밀리초 단위 트리거 요구를 지원하며 실시간 A/B 분할도 지원합니다. 클라이언트 측에서는 ThinkingData SDK가 AE 백엔드와 통신하여 작업을 가져오고 계산합니다.

App 측에 ThinkingData SDK를 통합해야 합니다. App 측에서는 ThinkingData SDK와의 상호 작용만 고려하면 되며, AE 백엔드의 작업 세부 사항은 신경 쓸 필요가 없습니다.

2. 통합​

2.1 SDK 자동 통합​

  1. 컴퓨터에 CocoaPods 패키지 관리 도구가 설치되어 있는지 확인합니다
  2. 프로젝트에 Podfile 파일이 없다면 프로젝트 파일(.xcodeproj)과 같은 디렉터리에서 명령줄로 다음 명령을 실행해야 합니다:
pod init
  1. Podfile의 내용을 다음과 같이 편집합니다:
platform :ios, '9.0'
target 'YourProjectTarget' do
pod 'TDStrategy'
end
  1. 프로젝트의 루트 디렉터리에서 설치 명령을 실행합니다
pod install

성공하면 터미널에 다음과 같은 메시지가 표시됩니다:

Analyzing dependencies
Downloading dependencies
Installing TDRemoteConfig (x.x.x)
Installing TDStrategy (x.x.x)
Installing ThinkingDataCore (x.x.x)
Installing ThinkingSDK (x.x.x)
Generating Pods project
Integrating client project
Pod installation complete! There is 1 dependency from the Podfile and 4 total pods installed.
  1. 가져오기에 성공하면 프로젝트를 시작합니다

명령이 성공적으로 실행되면 .xcworkspace 파일이 생성되며, 이는 iOS SDK를 성공적으로 가져왔음을 의미합니다. .xcworkspace 파일을 열어 프로젝트를 시작합니다(주의: 이때 .xcodeproj 파일을 동시에 열면 안 됩니다)

2.2 SDK 수동 통합​

클라이언트 트리거 작업에는 다음 ThinkingData SDK가 필요합니다.

SDK 이름소개버전 요구 사항
ThinkingSDK데이터 수집 및 처리>= 3.1.0
TDRemoteConfigAE 백엔드의 설정 정보 가져오기>= 1.0.0
ThinkingDataCore기본 컴포넌트 기능 제공>= 1.1.0
TDStrategy클라이언트 트리거 기능 제공>=1.0.0
  1. 페이지 상단의 리소스 다운로드 링크를 클릭하여 SDK를 다운로드하고 압축을 해제합니다
  2. ThinkingSDK.xcframework, ThinkingDataCore.xcframework, TDStrategy.xcframework, TDRemoteConfig.xcframework를 Xcode Project Workspace 프로젝트로 드래그합니다
  3. Targets를 찾아 Build Settings 메뉴의 Other linker flags 옵션에 -ObjC를 추가합니다

3. 초기화​

메인 스레드에서 SDK를 초기화합니다

#import <ThinkingDataCore/ThinkingDataCore.h>

// SDK needs to be initialized on the main thread
// For details on how to use the TDSettings, please refer to the [Advanced] Guide.
TDSettings *settings = [[TDSettings alloc] init];
settings.mode = TDSDKModeNomal;
settings.appId = @"APPID";
settings.serverUrl = @"SERVER_URL";
[TDApp startWithSetting:settings];

4. 델리게이트 설정​

SDK 초기화에 성공한 후 TDStrategy SDK에 델리게이트를 설정합니다.

#import <TDStrategy/TDStrategy.h>

// your code ...

[TDStrategy setTriggerDelegate:self];

4.1 델리게이트 프로토콜​

델리게이트 클래스의 구현을 규정합니다. 운영 작업이 트리거되면 델리게이트 클래스의 콜백 메서드가 호출됩니다.

#import <Foundation/Foundation.h>
@class TDStrategyResult;

@protocol TDStrategyTriggerDelegate <NSObject>

@optional
- (void)tdStrategyDidTrigger:(TDStrategyResult *)result;

@end

4.2 콜백 데이터 모델​

@interface TDStrategyResult : NSObject
@property (nonatomic, copy) NSString *channelMsgType;
@property (nonatomic, copy) NSString *appId;
@property (nonatomic, copy) NSString *pushId;
@property (nonatomic, copy) NSString *taskId;
@property (nonatomic, strong, nullable) NSDictionary *content;
@property (nonatomic, strong, nullable) NSDictionary *userParams;
@property (nonatomic, strong, nonnull) NSDictionary *opsProperties;
@end

속성 설명

속성 이름타입설명
channelMsgTypeNSString채널 메시지 타입
appIdNSStringAE 프로젝트의 app id
pushIdNSString운영 작업의 채널 전송 ID
taskIdNSString운영 작업의 ID
contentNSDictionary운영 작업의 푸시 콘텐츠
userParamsNSDictionary클라이언트 채널의 커스텀 파라미터
opsPropertiesNSDictionary클라이언트 트리거 작업에 포함된 채널 정보로, 도달 퍼널 이벤트의 회신 파라미터로 사용됩니다.
이 문서가 도움이 되었나요?