drawer.kleep.ai. The SDK exposes one component + two methods, mirroring the iOS surface.
Installation
Each release is published as an npm tarball on
cdn.kleep.ai. Two URL shapes are available:
Latest stable (auto-updates with every new stable release — pre-releases never move this pointer):
v1.0.0 and 1.0.0 with the desired release tag. The two listed packages are peer dependencies — the SDK requires them but lets you control the version.
The published tarball includes a SHA-256 alongside (<tarball>.sha256 / latest.tgz.sha256) if you want to verify integrity before installing.
Expo
Both peer deps are pre-bundled in Expo Go (SDK 54+). No extra setup needed in dev. For production builds,expo prebuild picks them up automatically.
Bare React Native
Permissions
For the footwear flow (camera scan), add to
ios/<App>/Info.plist:
android/app/src/main/AndroidManifest.xml:
Configure once at app boot
Usage
Method 1: Kleep.checkProduct
Call this on PDP mount. The result drives the “Find my size” CTA — whether to render it, and what label to show.
Returns
The SDK caches the result for 5 min in memory, keyed on
(publicId, productId) for the gate and (publicId, productId, mid) for the recommended size. Re-rendering the PDP or navigating back is free.
Implementation example
Method 2: <KleepFindSizeView>
Mount this component to open the size-finder drawer in a fullscreen Modal+WebView. Controlled-component pattern: you own the visible state, the SDK requests close via onDismiss.
Auto-wired by the SDK (you don’t need to do anything):
- Bridges the drawer’s iframe-style
window.parent.postMessageto the React Native bridge - Persists
mid/uidto AsyncStorage when the drawer pushes them - Responds to
getMid/getUid/getSizespostMessages from the drawer - Calls
Kleep.checkProducton open to resolve the flow (clothing / lingerie / footwear / children) — uses the same 5-min cache as your CTA call, so it’s free if you’ve already invokedcheckProduct
Method 3: Kleep.track
Fire-and-forget analytics. Never throws.
product_viewed example
product_added_to_cart example
checkout_completed example
Cache invalidation
The SDK keeps two in-memory caches (5 min TTL each):
- Product gate —
(publicId, productId) → { recommendable, category, productFound } - Recommended size —
(publicId, productId, mid) → size label
