drawer.kleep.ai를 감싸는 경량 WebView 래퍼입니다. SDK는 하나의 컴포넌트와 두 개의 메서드를 제공하며, iOS 인터페이스와 동일한 구조를 갖습니다.
설치
각 릴리스는
cdn.kleep.ai에 npm 타볼 형태로 게시됩니다. 두 가지 URL 형식을 사용할 수 있습니다:
최신 안정 버전 (새로운 안정 릴리스마다 자동 업데이트 — 프리릴리스는 이 포인터를 이동시키지 않습니다):
v1.0.0 및 1.0.0을 원하는 릴리스 태그로 교체하세요. 위에 나열된 두 패키지는 피어 의존성입니다 — SDK가 필요로 하지만 버전은 직접 제어할 수 있습니다.
게시된 타볼에는 설치 전 무결성 검증을 원할 경우 사용할 수 있는 SHA-256 파일(<tarball>.sha256 / latest.tgz.sha256)이 함께 포함됩니다.
Expo
두 피어 의존성 모두 Expo Go (SDK 54+)에 사전 번들되어 있습니다. 개발 환경에서 별도 설정이 필요하지 않습니다. 프로덕션 빌드의 경우expo prebuild가 자동으로 처리합니다.
Bare React Native
권한
신발 플로우(카메라 스캔)의 경우
ios/<App>/Info.plist에 다음을 추가합니다:
android/app/src/main/AndroidManifest.xml에 다음을 추가합니다:
앱 시작 시 한 번 설정
사용법
메서드 1: Kleep.checkProduct
상품 페이지 (PDP) 마운트 시 호출합니다. 반환값은 “내 사이즈 찾기” CTA의 렌더링 여부와 표시할 레이블을 결정합니다.
반환값
SDK는
(publicId, productId) 키 기반의 게이트와 (publicId, productId, mid) 키 기반의 추천 사이즈에 대해 결과를 5분간 메모리 캐시에 저장합니다. 상품 페이지 (PDP)를 다시 렌더링하거나 뒤로 이동해도 추가 비용이 발생하지 않습니다.
구현 예시
메서드 2: <KleepFindSizeView>
이 컴포넌트를 마운트하면 전체 화면 Modal+WebView에서 사이즈 찾기 드로어가 열립니다. 제어 컴포넌트 패턴으로 동작합니다: 호스트가 visible 상태를 소유하며, SDK는 onDismiss를 통해 닫기를 요청합니다.
SDK가 자동으로 처리하는 항목 (별도 설정 필요 없음):
- 드로어의 iframe 스타일
window.parent.postMessage를 React Native 브리지에 연결합니다 - 드로어가
mid/uid를 전달할 때 AsyncStorage에 유지합니다 - 드로어의
getMid/getUid/getSizespostMessage에 응답합니다 - 열릴 때
Kleep.checkProduct를 호출하여 플로우(clothing / lingerie / footwear / children)를 결정합니다 — CTA 호출과 동일한 5분 캐시를 사용하므로 이미checkProduct를 호출했다면 추가 비용 없이 처리됩니다
메서드 3: Kleep.track
비동기 분석 이벤트 전송. 예외를 발생시키지 않습니다.
product_viewed 예시
product_added_to_cart 예시
checkout_completed 예시
캐시 무효화
SDK는 두 개의 인메모리 캐시를 유지합니다 (각 TTL 5분):
- 상품 게이트 —
(publicId, productId) → { recommendable, category, productFound } - 추천 사이즈 —
(publicId, productId, mid) → size label
