애널리틱스
앱의 화면 조회, 이벤트와 JavaScript 오류를 수집합니다.
CRM 애널리틱스 속성의 허용 앱에 iOS bundle identifier와 Android applicationId를 등록합니다. 앱 ID가 다르면 각각 추가하세요.
npx expo install @the-seeker/analytics-react-native @react-native-async-storage/async-storageimport AsyncStorage from "@react-native-async-storage/async-storage";
import { TheSeeker } from "@the-seeker/analytics-react-native";
TheSeeker.init({
propertyId: "속성_ID",
appId: "com.example.app",
appVersion: "1.0.0",
storage: AsyncStorage,
});저장소는 앱에서 주입합니다. 생략하면 메모리만 사용해 앱을 다시 켤 때 설치 ID가 바뀝니다. 웹에서는 수집하지 않습니다.
TheSeeker.identify("internal-user-42");
TheSeeker.trackScreen("Home");
TheSeeker.track("purchase", { amount: 12000 });
await TheSeeker.captureException(new Error("Checkout failed"), { handled: true, screen: "Checkout" });로그아웃 시 TheSeeker.identify(null)으로 사용자 연결을 해제합니다. Expo Router에서는 초기화 뒤 루트 레이아웃에서 @the-seeker/analytics-react-native/expo-router의 useExpoRouterTracking()을 호출합니다. React Navigation은 onReady와 onStateChange에서 TheSeeker.trackNavigationState(...)를 호출하거나 화면에서 useScreenTracking을 사용합니다. 같은 화면을 중복 추적하지 마세요.
이벤트는 메모리에서 묶어 전송하고 실패하면 다음 전송 때 재시도합니다. 디스크 큐나 정확히 한 번 전달은 보장하지 않습니다. JS 예외는 즉시 전송합니다. 전역 fatal 핸들러는 전송을 최대 2초 기다리고 기존 핸들러를 호출합니다. Hermes에서 지원하는 경우 unhandled rejection도 수집합니다. 네이티브 크래시와 리플레이는 지원하지 않습니다.
빌드의 JS 소스맵을 보관하고 업로드합니다. --release는 초기화의 release와 같아야 합니다. 생략했다면 appVersion과 맞추세요.
npx -p @the-seeker/status-sdk theseeker-sourcemaps upload --release 1.0.0 --property-id 속성_ID ./sourcemaps무작위 설치 ID, 화면과 이벤트, 오류 및 진단 정보가 전송될 수 있습니다. IDFA와 IDFV는 사용하지 않으며 광고 추적을 하지 않습니다. identify나 이벤트 속성에 개인정보를 넣기 전 앱의 실제 수집 목적과 개인정보 고지를 검토하세요. 앱 개인정보 안내에서 스토어 신고 항목을 확인합니다.
이 페이지가 도움이 되었나요?