옵트아웃 (Opt-Out Tracking)
옵트아웃이 활성화되면 SDK는 모든 이벤트 전송을 중단합니다.
Flutter SDK는 Android SDK, iOS SDK를 기반으로 동작합니다.
초기화 시 설정
import "package:hackle/hackle.dart";
HackleConfig config = HackleConfigBuilder()
.optOutTracking(true)
.build();
await HackleApp.initialize(YOUR_APP_SDK_KEY, hackleConfig: config);런타임 옵트아웃 제어
await HackleApp.setOptOutTracking(true);
await HackleApp.setOptOutTracking(false);
bool isOptOut = await HackleApp.isOptOutTracking();영속성 관리
런타임에 변경된 옵트아웃 상태는 앱 재시작 시 초기화 Config에 설정된 값으로 리셋됩니다.
앱 재시작 후에도 상태를 유지하려면 직접 저장 및 복원 로직을 구현해야 합니다.
import 'package:shared_preferences/shared_preferences.dart';
import 'package:hackle/hackle.dart';
Future<void> saveOptOutState(bool optOut) async {
final prefs = await SharedPreferences.getInstance();
await prefs.setBool('hackle_opt_out', optOut);
await HackleApp.setOptOutTracking(optOut);
}
Future<HackleConfig> getOptOutConfig() async {
final prefs = await SharedPreferences.getInstance();
final optOut = prefs.getBool('hackle_opt_out') ?? false;
return HackleConfigBuilder()
.optOutTracking(optOut)
.build();
}
final config = await getOptOutConfig();
await HackleApp.initialize(YOUR_APP_SDK_KEY, hackleConfig: config);Updated about 4 hours ago
