SDK 초기화¶
기본 설정¶
첫 번째로 표시되는 뷰 NSViewController의 viewDidLoad 메서드와 NSWindowController의 windowDidLoad 메서드 호출이 AppDelegate applicationDidFinishLaunching보다 먼저 실행되므로, 첫 번째 뷰의 라이프사이클 수집이 비정상적으로 동작하는 것을 방지하기 위해 main.m 파일에서 SDK를 초기화하는 것을 권장합니다.
// main.m 파일
#import "FTMacOSSDK.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 로컬 환경 배포, Datakit 배포
FTSDKConfig *config = [[FTSDKConfig alloc] initWithDatakitUrl:datakitUrl];
// 공용 DataWay 사용 배포
// FTSDKConfig *config = [[FTSDKConfig alloc] initWithDatawayUrl:datawayUrl clientToken:clientToken];
config.enableSDKDebugLog = YES;
[FTSDKAgent startWithConfigOptions:config];
}
return NSApplicationMain(argc, argv);
}
main.swift 파일을 생성하고, AppDelegate.swift에서 @main 또는 @NSApplicationMain을 제거합니다.
import Cocoa
import FTMacOSSDK
let delegate = AppDelegate()
NSApplication.shared.delegate = delegate
let config = FTSDKConfig(datakitUrl: datakitUrl)
// 공용 DataWay 사용 배포
// let config = FTSDKConfig(datawayUrl: datawayUrl, clientToken: clientToken)
config.enableSDKDebugLog = true
FTSDKAgent.start(withConfigOptions: config)
_ = NSApplicationMain(CommandLine.argc, CommandLine.unsafeArgv)
| 속성 | 타입 | 필수 | 설명 |
|---|---|---|---|
datakitUrl |
NSString |
예 | Datakit 접근 주소, 예: http://10.0.0.1:9529, 기본 포트 9529, SDK를 설치한 장치에서 이 주소에 접근할 수 있어야 합니다. 참고: datakit와 dataway 설정 중 하나만 선택 |
datawayUrl |
NSString |
예 | 공용 DataWay 접근 주소, 예: http://10.0.0.1:9528, 기본 포트 9528, SDK를 설치한 장치에서 이 주소에 접근할 수 있어야 합니다. 참고: datakit와 dataway 설정 중 하나만 선택 |
clientToken |
NSString |
예 | 인증 token, datawayUrl과 함께 사용해야 함 |
enableSDKDebugLog |
BOOL |
아니요 | 로그 출력 여부 설정, 기본값 NO |
env |
NSString |
아니요 | 수집 환경 설정, 기본값 prod, 사용자 지정 가능, 제공된 FTEnv 열거형을 통해 -setEnvWithType: 메서드로 설정 가능 |
service |
NSString |
아니요 | 속한 업무 또는 서비스 이름 설정, Log 및 RUM의 service 필드 데이터에 영향, 기본값 df_rum_macos |
globalContext |
NSDictionary |
아니요 | 사용자 정의 태그 추가, 추가 규칙은 사용자 정의 태그 사용 참조 |
사용자 바인딩 및 로그아웃¶
사용 방법¶
/// 사용자 정보 바인딩
///
/// - Parameters:
/// - Id: 사용자 ID
/// - userName: 사용자 이름 (선택 사항)
/// - userEmail: 사용자 이메일 (선택 사항)
/// - extra: 사용자 추가 정보 (선택 사항)
- (void)bindUserWithUserID:(NSString *)Id userName:(nullable NSString *)userName userEmail:(nullable NSString *)userEmail extra:(nullable NSDictionary *)extra;
/// 현재 사용자 로그아웃
- (void)unbindUser;
코드 예시¶
[[FTSDKAgent sharedInstance] bindUserWithUserID:USERID];
// 또는
[[FTSDKAgent sharedInstance] bindUserWithUserID:USERID userName:USERNAME userEmail:USEREMAIL];
// 또는
[[FTSDKAgent sharedInstance] bindUserWithUserID:USERID userName:USERNAME userEmail:USEREMAIL extra:@{EXTRA_KEY:EXTRA_VALUE}];
[[FTSDKAgent sharedInstance] unbindUser];
FTSDKAgent.sharedInstance().bindUser(withUserID: USERID)
// 또는
FTSDKAgent.sharedInstance().bindUser(withUserID: USERID, userName: USERNAME, userEmail: USEREMAIL)
// 또는
FTSDKAgent.sharedInstance().bindUser(withUserID: USERID, userName: USERNAME, userEmail: USEREMAIL, extra: [EXTRA_KEY: EXTRA_VALUE])
FTSDKAgent.sharedInstance().unbindUser()
SDK 종료¶
FTSDKAgent를 사용하여 SDK를 종료합니다.