옵트아웃 (Opt-Out Tracking)
옵트아웃이 활성화되면 SDK는 모든 이벤트 전송을 중단합니다.
React Native SDK는 Android SDK, iOS SDK를 기반으로 동작합니다.
초기화 시 설정
import { createInstance, HackleProvider } from "@hackler/react-native-sdk";
const config = {
optOutTracking: true
};
const hackleClient = createInstance("YOUR_APP_SDK_KEY", config);
const App = () => {
return (
<HackleProvider hackleClient={hackleClient}>
<YourApp />
</HackleProvider>
);
};런타임 옵트아웃 제어
hackleClient.setOptOutTracking(true);
hackleClient.setOptOutTracking(false);
const isOptOut = await hackleClient.isOptOutTracking();영속성 관리
런타임에 변경된 옵트아웃 상태는 앱 재시작 시 초기화 Config에 설정된 값으로 리셋됩니다.
앱 재시작 후에도 상태를 유지하려면 직접 저장 및 복원 로직을 구현해야 합니다.
import AsyncStorage from '@react-native-async-storage/async-storage';
async function saveOptOutState(optOut) {
await AsyncStorage.setItem("hackle_opt_out", JSON.stringify(optOut));
hackleClient.setOptOutTracking(optOut);
}
async function getOptOutConfig() {
const value = await AsyncStorage.getItem("hackle_opt_out");
const optOut = value ? JSON.parse(value) : false;
return {
optOutTracking: optOut
};
}
const config = await getOptOutConfig();
const hackleClient = createInstance("YOUR_APP_SDK_KEY", config);Updated about 4 hours ago
