콘텐츠로 이동

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;
/// 사용자 정보 바인딩
///
/// - Parameters:
///   - Id: 사용자 ID
///   - userName: 사용자 이름 (선택 사항)
///   - userEmail: 사용자 이메일 (선택 사항)
///   - extra: 사용자 추가 정보 (선택 사항)
open func bindUser(withUserID Id: String, userName: String?, userEmail: String?, extra: [AnyHashable : Any]?)

/// 현재 사용자 로그아웃
open func 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를 종료합니다.

사용 방법

/// SDK 내에서 실행 중인 객체 종료
- (void)shutDown;
/// SDK 내에서 실행 중인 객체 종료
func shutDown()

코드 예시

// SDK 설정을 동적으로 변경할 경우, 잘못된 데이터 생성을 방지하기 위해 먼저 종료해야 함
[[FTSDKAgent sharedInstance] shutDown];
// SDK 설정을 동적으로 변경할 경우, 잘못된 데이터 생성을 방지하기 위해 먼저 종료해야 함
FTSDKAgent.sharedInstance().shutDown()

문서 평가

이 페이지가 도움이 되었나요?