drawer.kleep.ai. SDK’et eksponerer én komponent + to metoder, der spejler iOS-overfladen.
Installation
Hver udgivelse udgives som en npm-tarball på
cdn.kleep.ai. To URL-former er tilgængelige:
Seneste stabile (auto-opdateres med hver ny stabil udgivelse — pre-releases flytter aldrig denne pointer):
v1.0.0 og 1.0.0 med det ønskede release-tag. De to listede pakker er peer-afhængigheder — SDK’et kræver dem, men lader dig styre versionen.
Den udgivne tarball inkluderer en SHA-256 ved siden af (<tarball>.sha256 / latest.tgz.sha256), hvis du ønsker at verificere integritet inden installation.
Expo
Begge peer-deps er forudbundlet i Expo Go (SDK 54+). Ingen ekstra opsætning nødvendig i dev. Til produktionsbuilds hentes de automatisk afexpo prebuild.
Bare React Native
Tilladelser
Til fodtøjsflowet (kamerascan) skal du tilføje til
ios/<App>/Info.plist:
android/app/src/main/AndroidManifest.xml:
Konfigurér én gang ved app-opstart
| Felt | Påkrævet | Beskrivelse |
|---|---|---|
publicId | ja | UUID der identificerer din forhandler (leveret af Kleep) |
language | nej | 'fr' | 'en' | 'de' | 'it' | 'es' | 'nl' | 'pt' | 'ja' | 'ko' | 'pl' | 'br' | 'dk' | 'fi' | 'se' | 'gb' |
Brug
Metode 1: Kleep.checkProduct
Kald dette ved PDP-montering. Resultatet styrer “Find min størrelse”-CTA’en — om den skal gengives, og hvilken etiket der skal vises.
| parameter | prioritet | beskrivelse |
|---|---|---|
productId | påkrævet | Dit produkt-ID hos forhandleren |
recommendable | recommendedSize | Hvad der gengives |
|---|---|---|
false | — | Skjul CTA’en (produkt ikke kvalificeret til Kleep) |
true | fraværende | CTA: “Trouver ma taille” |
true | "M" | CTA: “Taille recommandée: M” |
(publicId, productId) til porten og (publicId, productId, mid) til den anbefalede størrelse. Gengivelse af PDP’en eller navigation tilbage er gratis.
Implementeringseksempel
Metode 2: <KleepFindSizeView>
Montér denne komponent for at åbne størrelsesfinder-skuffen i en fuldskærms Modal+WebView. Kontrolleret-komponent-mønster: du ejer visible-tilstanden, SDK’et anmoder om luk via onDismiss.
| prop | prioritet | beskrivelse |
|---|---|---|
visible | påkrævet | Styrer Modal-synlighed |
productId | påkrævet | Samme som i checkProduct |
onDismiss | påkrævet | Udløses når brugeren lukker skuffen (X / swipe / tilbage). Vært SKAL skifte visible til false |
variantId | valgfri | Forvalgt en variant til anbefalingen |
customerId | valgfri | CRM-identifikator til tværsessions-linking |
language | valgfri | Tilsidesætter SDK-niveau-sproget for denne åbning |
countryCode | valgfri | f.eks. "FR", "US" — styrer enhedssystem + BH-størrelsesstandard |
stocks | valgfri | { [variantId]: number | boolean } — skuffe gengiver ikke tilgængeligt / delvist lager UI |
mock | valgfri | true → skuffe springer rigtige anbefalings-API-kald over (kun QA) |
forceState | valgfri | 'outOfRange' | 'unavailable' | 'error' | 'qrcode' — QA-luge til at gengive en slutstatus direkte |
warmRestore | valgfri | { mid, uid } — forudindlæs en eksisterende måling (spring introflowet over). Genoprettelse på samme enhed er allerede automatisk via AsyncStorage |
extraParams | valgfri | Rå Record<string, string> tilføjet til skuffens URL (flugtluge) |
onAddToCart | valgfri | (event: { variantId, size? }) => void — bruger trykkede på “Læg i kurv”-CTA’en i skuffen. Vært lægger varianten i sin kurv |
onSelectSize | valgfri | (event: { size }) => void — bruger valgte en størrelse på resultatskærmen. Vært bør synkronisere sin PDP-størrelsesvælger |
onMessage | valgfri | Debug-hook — udløses for hver indkommende postMessage parset fra skuffen |
style | valgfri | StyleProp<ViewStyle> — containerstil-tilsidesættelse |
webViewProps | valgfri | Videresendt til react-native-webview til avanceret tilpasning |
- Bygger bro over skuffens iframe-stil
window.parent.postMessagetil React Native-broen - Vedvarer
mid/uidtil AsyncStorage, når skuffen skubber dem - Reagerer på
getMid/getUid/getSizespostMessages fra skuffen - Kalder
Kleep.checkProductved åbning for at løse flowet (tøj / lingeri / fodtøj / børn) — bruger den samme 5-min-cache som dit CTA-kald, så det er gratis, hvis du allerede har kaldtcheckProduct
Metode 3: Kleep.track
Brand-og-glem-analyse. Kaster aldrig fejl.
| parameter | prioritet | beskrivelse |
|---|---|---|
eventName | påkrævet | Navn på hændelsen |
options.customerId | valgfri | CRM-identifikator |
options.parameters | valgfri | Record<string, unknown> — vilkårlige hændelsesdata |
| eventName | Trigger |
|---|---|
product_viewed | Når PDP vises |
product_added_to_cart | Når produkt lægges i kurven |
checkout_completed | Når ordre bekræftes efter betaling |
product_viewed-eksempel
product_added_to_cart-eksempel
checkout_completed-eksempel
Cache-ugyldiggørelse
SDK’et holder to in-memory-caches (5 min TTL hver):
- Produktport —
(publicId, productId) → { recommendable, category, productFound } - Anbefalet størrelse —
(publicId, productId, mid) → størrelseslabel
