drawer.kleep.ai. SDK:n exponerar en komponent + två metoder, speglar iOS-ytan.
Installation
Varje utgåva publiceras som en npm-tarball på
cdn.kleep.ai. Två URL-format är tillgängliga:
Senaste stabila (uppdateras automatiskt vid varje ny stabil utgåva — förhandsversioner flyttar aldrig denna pekare):
v1.0.0 och 1.0.0 med önskad release-tagg. De två listade paketen är peer-beroenden — SDK:n kräver dem men låter dig kontrollera versionen.
Den publicerade tarballen inkluderar en SHA-256 bredvid (<tarball>.sha256 / latest.tgz.sha256) om du vill verifiera integriteten före installation.
Expo
Båda peer-beroendena är förpaketerade i Expo Go (SDK 54+). Ingen extra konfiguration behövs i dev. För produktionsbuilds plockarexpo prebuild upp dem automatiskt.
Bare React Native
Behörigheter
För skoflödet (kameraskanningen), lägg till i
ios/<App>/Info.plist:
android/app/src/main/AndroidManifest.xml:
Konfigurera en gång vid appstart
| Fält | Obligatorisk | Beskrivning |
|---|---|---|
publicId | ja | UUID som identifierar din återförsäljare (tillhandahålls av Kleep) |
language | nej | 'fr' | 'en' | 'de' | 'it' | 'es' | 'nl' | 'pt' | 'ja' | 'ko' | 'pl' | 'br' | 'dk' | 'fi' | 'se' | 'gb' |
Användning
Metod 1: Kleep.checkProduct
Anropa detta vid PDP-montering. Resultatet styr CTA “Hitta min storlek” — om den ska renderas och vilken etikett som ska visas.
| parameter | prioritet | beskrivning |
|---|---|---|
productId | obligatorisk | Ditt produkt-ID hos återförsäljaren |
recommendable | recommendedSize | Vad som renderas |
|---|---|---|
false | — | Dölj CTA (produkt inte berättigad till Kleep) |
true | saknas | CTA: “Trouver ma taille” |
true | "M" | CTA: “Taille recommandée: M” |
(publicId, productId) för porten och (publicId, productId, mid) för den rekommenderade storleken. Att återrendera PDP eller navigera tillbaka är kostnadsfritt.
Implementeringsexempel
Metod 2: <KleepFindSizeView>
Montera denna komponent för att öppna storleksguiden i en helskärms Modal+WebView. Kontrollerat komponentmönster: du äger visible-tillståndet, SDK:n begär stängning via onDismiss.
| prop | prioritet | beskrivning |
|---|---|---|
visible | obligatorisk | Kontrollerar Modal-synlighet |
productId | obligatorisk | Samma som i checkProduct |
onDismiss | obligatorisk | Aktiveras när användaren stänger lådan (X / svep / bakåt). Värden MÅSTE ändra visible till false |
variantId | valfritt | Förhandsväljer en variant för rekommendationen |
customerId | valfritt | CRM-identifierare för länkning mellan sessioner |
language | valfritt | Åsidosätter SDK-nivåspråket för denna öppning |
countryCode | valfritt | t.ex. "FR", "US" — styr enhetssystem + standardstorlekar för bh |
stocks | valfritt | { [variantId]: number | boolean } — lådan renderar otillgängligt / delvis lager-UI |
mock | valfritt | true → lådan hoppar över riktiga rekommendations-API-anrop (endast QA) |
forceState | valfritt | 'outOfRange' | 'unavailable' | 'error' | 'qrcode' — QA-lucka för att rendera ett slutläge direkt |
warmRestore | valfritt | { mid, uid } — förladda en befintlig mätning (hoppa över introduktionsflödet). Återställning på samma enhet är redan automatisk via AsyncStorage |
extraParams | valfritt | Rå Record<string, string> bifogad till låd-URL:en (nödutgång) |
onAddToCart | valfritt | (event: { variantId, size? }) => void — användaren tryckte på “Lägg i varukorg” CTA i lådan. Värden lägger till varianten i sin varukorg |
onSelectSize | valfritt | (event: { size }) => void — användaren valde en storlek på Resultatsidan. Värden bör synkronisera sin PDP-storleksväljare |
onMessage | valfritt | Felsökningskrok — aktiveras för varje inkommande postMessage tolkad från lådan |
style | valfritt | StyleProp<ViewStyle> — behållarstilöverskridning |
webViewProps | valfritt | Vidarebefordrad till react-native-webview för avancerad anpassning |
- Bryggar lådans iframe-stil
window.parent.postMessagetill React Native-bryggan - Bevarar
mid/uidtill AsyncStorage när lådan skickar dem - Svarar på
getMid/getUid/getSizespostMessages från lådan - Anropar
Kleep.checkProductvid öppning för att lösa flödet (clothing / lingerie / footwear / children) — använder samma 5-min-cache som ditt CTA-anrop, så det är kostnadsfritt om du redan anropatcheckProduct
Metod 3: Kleep.track
Skjut-och-glöm-analys. Kastar aldrig undantag.
| parameter | prioritet | beskrivning |
|---|---|---|
eventName | obligatorisk | Händelsens namn |
options.customerId | valfritt | CRM-identifierare |
options.parameters | valfritt | Record<string, unknown> — godtycklig händelsedata |
| eventName | Utlösare |
|---|---|
product_viewed | När PDP visas |
product_added_to_cart | När produkt läggs i varukorgen |
checkout_completed | Vid orderbekräftelse efter betalning |
product_viewed
product_added_to_cart
checkout_completed
Cacheinvalidering
SDK:n håller två cacheminnen i minnet (5 min TTL vardera):
- Produktport —
(publicId, productId) → { recommendable, category, productFound } - Rekommenderad storlek —
(publicId, productId, mid) → size label
