옵트아웃 (Opt-Out Tracking)
옵트아웃이 활성화되면 SDK는 모든 이벤트 전송을 중단합니다.
초기화 시 설정
val config = HackleConfig.builder()
.optOutTracking(true)
.build()
Hackle.initialize(applicationContext, YOUR_APP_SDK_KEY, config) {
// SDK ready to use.
}HackleConfig config = HackleConfig.builder()
.optOutTracking(true)
.build();
HackleApp.initializeApp(getApplicationContext(), YOUR_APP_SDK_KEY, config, () -> {
// SDK ready to use.
});런타임 옵트아웃 제어
Hackle.setOptOutTracking(true)
Hackle.setOptOutTracking(false)
val isOptOut = Hackle.isOptOutTrackinghackleApp.setOptOutTracking(true);
hackleApp.setOptOutTracking(false);
boolean isOptOut = hackleApp.isOptOutTracking();영속성 관리
런타임에 변경된 옵트아웃 상태는 앱 재시작 시 초기화 Config에 설정된 값으로 리셋됩니다.
앱 재시작 후에도 상태를 유지하려면 직접 저장 및 복원 로직을 구현해야 합니다.
fun saveOptOutState(context: Context, optOut: Boolean) {
context.getSharedPreferences("hackle_prefs", Context.MODE_PRIVATE)
.edit()
.putBoolean("hackle_opt_out", optOut)
.apply()
Hackle.setOptOutTracking(optOut)
}
fun getOptOutConfig(context: Context): HackleConfig {
val optOut = context.getSharedPreferences("hackle_prefs", Context.MODE_PRIVATE)
.getBoolean("hackle_opt_out", false)
return HackleConfig.builder()
.optOutTracking(optOut)
.build()
}void saveOptOutState(Context context, boolean optOut) {
context.getSharedPreferences("hackle_prefs", Context.MODE_PRIVATE)
.edit()
.putBoolean("hackle_opt_out", optOut)
.apply();
hackleApp.setOptOutTracking(optOut);
}
HackleConfig getOptOutConfig(Context context) {
boolean optOut = context.getSharedPreferences("hackle_prefs", Context.MODE_PRIVATE)
.getBoolean("hackle_opt_out", false);
return HackleConfig.builder()
.optOutTracking(optOut)
.build();
}Updated about 4 hours ago
