옵트아웃 (Opt-Out Tracking)
옵트아웃이 활성화되면 SDK는 모든 이벤트 전송을 중단합니다.
초기화 시 설정
let config = HackleConfigBuilder()
.optOutTracking(true)
.build()
Hackle.initialize(sdkKey: YOUR_APP_SDK_KEY, config: config) {
// SDK ready to use.
}HackleConfigBuilder *builder = [[HackleConfigBuilder alloc] init];
[builder optOutTracking:YES];
HackleConfig *config = [builder build];
[Hackle initializeWithSdkKey:@"YOUR_APP_SDK_KEY" config:config completion:^{
// SDK ready to use.
}];런타임 옵트아웃 제어
hackleApp.setOptOutTracking(optOut: true) // activate
hackleApp.setOptOutTracking(optOut: false) // deactivate
let isOptOut = hackleApp.isOptOutTracking // query (property, not method)[hackleApp setOptOutTrackingWithOptOut:YES];
[hackleApp setOptOutTrackingWithOptOut:NO];
BOOL isOptOut = hackleApp.isOptOutTracking;영속성 관리
런타임에 변경된 옵트아웃 상태는 앱 재시작 시 초기화 Config에 설정된 값으로 리셋됩니다.
앱 재시작 후에도 상태를 유지하려면 직접 저장 및 복원 로직을 구현해야 합니다.
func saveOptOutState(_ optOut: Bool) {
UserDefaults.standard.set(optOut, forKey: "hackle_opt_out")
hackleApp.setOptOutTracking(optOut: optOut)
}
func getOptOutConfig() -> HackleConfig {
let optOut = UserDefaults.standard.bool(forKey: "hackle_opt_out")
return HackleConfigBuilder()
.optOutTracking(optOut)
.build()
}- (void)saveOptOutState:(BOOL)optOut {
[[NSUserDefaults standardUserDefaults] setBool:optOut forKey:@"hackle_opt_out"];
[hackleApp setOptOutTrackingWithOptOut:optOut];
}
- (HackleConfig *)getOptOutConfig {
BOOL optOut = [[NSUserDefaults standardUserDefaults] boolForKey:@"hackle_opt_out"];
HackleConfigBuilder *builder = [[HackleConfigBuilder alloc] init];
[builder optOutTracking:optOut];
return [builder build];
}Updated about 4 hours ago
