Skip to main content
Github Repository: https://github.com/KlipFit/kleep-rn A thin WebView wrapper around 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):
Pin a specific version (recommended for production — fully immutable):
Replace 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:
And to 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
Logic schema 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.postMessage to the React Native bridge
  • Persists mid / uid to AsyncStorage when the drawer pushes them
  • Responds to getMid / getUid / getSizes postMessages from the drawer
  • Calls Kleep.checkProduct on 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 invoked checkProduct

Method 3: Kleep.track

Fire-and-forget analytics. Never throws.
We want to track 3 events: 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
Both invalidate automatically. If you need to force-refresh (user logged out, retailer switched, manual refresh button):