drawer.kleep.ai. Das SDK stellt eine Komponente + zwei Methoden bereit und spiegelt die iOS-Oberfläche wider.
Installation
Jede Version wird als npm-Tarball auf
cdn.kleep.ai veröffentlicht. Zwei URL-Formen sind verfügbar:
Neueste stabile Version (wird automatisch mit jeder neuen stabilen Version aktualisiert — Vorabversionen verschieben diesen Zeiger nie):
v1.0.0 und 1.0.0 durch das gewünschte Release-Tag. Die beiden aufgeführten Pakete sind Peer-Abhängigkeiten — das SDK benötigt sie, lässt Ihnen aber die Versionskontrolle.
Der veröffentlichte Tarball enthält eine SHA-256-Datei (<tarball>.sha256 / latest.tgz.sha256), falls Sie die Integrität vor der Installation überprüfen möchten.
Expo
Beide Peer-Abhängigkeiten sind in Expo Go (SDK 54+) vorgebündelt. Kein zusätzliches Setup in der Entwicklung erforderlich. Für Produktions-Builds werden sie automatisch durchexpo prebuild erfasst.
Bare React Native
Berechtigungen
Für den Schuh-Flow (Kamera-Scan) fügen Sie zu
ios/<App>/Info.plist hinzu:
android/app/src/main/AndroidManifest.xml:
Einmalige Konfiguration beim App-Start
| Feld | Erforderlich | Beschreibung |
|---|---|---|
publicId | ja | UUID zur Identifikation Ihres Händlers (von Kleep bereitgestellt) |
language | nein | 'fr' | 'en' | 'de' | 'it' | 'es' | 'nl' | 'pt' | 'ja' | 'ko' | 'pl' | 'br' | 'dk' | 'fi' | 'se' | 'gb' |
Verwendung
Methode 1: Kleep.checkProduct
Rufen Sie diese Methode beim Mounten des PDP auf. Das Ergebnis steuert den CTA „Meine Größe finden” — ob er gerendert wird und welche Beschriftung angezeigt werden soll.
| Parameter | Priorität | Beschreibung |
|---|---|---|
productId | erforderlich | Ihre Produkt-ID beim Händler |
recommendable | recommendedSize | Was rendern |
|---|---|---|
false | — | CTA ausblenden (Produkt nicht für Kleep geeignet) |
true | nicht vorhanden | CTA: „Trouver ma taille” |
true | "M" | CTA: „Taille recommandée: M” |
(publicId, productId) für das Gate und (publicId, productId, mid) für die empfohlene Größe. Das erneute Rendern des PDP oder das Zurücknavigieren ist kostenlos.
Implementierungsbeispiel
Methode 2: <KleepFindSizeView>
Mounten Sie diese Komponente, um den Größenfinder-Drawer in einem Vollbild-Modal+WebView zu öffnen. Kontrolliertes Komponentenmuster: Sie besitzen den visible-Zustand, das SDK fordert das Schließen über onDismiss an.
| Prop | Priorität | Beschreibung |
|---|---|---|
visible | erforderlich | Steuert die Modal-Sichtbarkeit |
productId | erforderlich | Wie in checkProduct |
onDismiss | erforderlich | Wird ausgelöst, wenn der Nutzer den Drawer schließt (X / Swipe / Zurück). Der Host MUSS visible auf false setzen |
variantId | optional | Wählt eine Variante für die Empfehlung vor |
customerId | optional | CRM-Identifikator für sitzungsübergreifende Verknüpfung |
language | optional | Überschreibt die SDK-Sprache für diesen Öffnungsvorgang |
countryCode | optional | z. B. "FR", "US" — steuert Maßeinheitensystem + BH-Größen-Standards |
stocks | optional | { [variantId]: number | boolean } — Drawer zeigt nicht verfügbare / teilweise Lager-UI |
mock | optional | true → Drawer überspringt echte Empfehlungs-API-Aufrufe (nur QA) |
forceState | optional | 'outOfRange' | 'unavailable' | 'error' | 'qrcode' — QA-Türöffner, um einen Endzustand direkt zu rendern |
warmRestore | optional | { mid, uid } — eine vorhandene Messung vorladen (Intro-Flow überspringen). Geräteinterne Wiederherstellung erfolgt bereits automatisch über AsyncStorage |
extraParams | optional | Rohes Record<string, string>, das an die Drawer-URL angehängt wird (Notausstieg) |
onAddToCart | optional | (event: { variantId, size? }) => void — Nutzer hat den In-Drawer-CTA „In den Warenkorb” gedrückt. Der Host fügt die Variante seinem Warenkorb hinzu |
onSelectSize | optional | (event: { size }) => void — Nutzer hat eine Größe auf dem Ergebnisbildschirm ausgewählt. Der Host sollte seinen PDP-Größenwähler synchronisieren |
onMessage | optional | Debug-Hook — wird für jede eingehende postMessage ausgelöst, die aus dem Drawer geparst wird |
style | optional | StyleProp<ViewStyle> — Container-Stil-Überschreibung |
webViewProps | optional | Wird an react-native-webview für erweiterte Anpassungen weitergeleitet |
- Verbindet das iFrame-ähnliche
window.parent.postMessagedes Drawers mit der React Native-Bridge - Speichert
mid/uidin AsyncStorage, wenn der Drawer sie pusht - Antwortet auf
getMid/getUid/getSizes-postMessages vom Drawer - Ruft
Kleep.checkProductbeim Öffnen auf, um den Flow aufzulösen (Bekleidung / Dessous / Schuhe / Kinder) — verwendet denselben 5-Minuten-Cache wie Ihr CTA-Aufruf, sodass es kostenlos ist, wenn SiecheckProductbereits aufgerufen haben
Methode 3: Kleep.track
Fire-and-Forget-Analytics. Wirft nie eine Exception.
| Parameter | Priorität | Beschreibung |
|---|---|---|
eventName | erforderlich | Name des Ereignisses |
options.customerId | optional | CRM-Identifikator |
options.parameters | optional | Record<string, unknown> — beliebige Ereignisdaten |
| eventName | Auslöser |
|---|---|
product_viewed | Beim Aufrufen des PDP |
product_added_to_cart | Beim Hinzufügen eines Produkts zum Warenkorb |
checkout_completed | Bei der Bestellbestätigung nach der Zahlung |
product_viewed-Beispiel
product_added_to_cart-Beispiel
checkout_completed-Beispiel
Cache-Invalidierung
Das SDK hält zwei In-Memory-Caches (jeweils 5 Min. TTL):
- Produkt-Gate —
(publicId, productId) → { recommendable, category, productFound } - Empfohlene Größe —
(publicId, productId, mid) → Größenbeschriftung
