drawer.kleep.ai. SDK udostępnia jeden komponent i dwie metody, odwzorowując interfejs iOS.
Instalacja
Każde wydanie jest publikowane jako paczka npm na
cdn.kleep.ai. Dostępne są dwa formaty URL:
Najnowsza stabilna wersja (aktualizuje się automatycznie przy każdym nowym stabilnym wydaniu — wersje przedpremierowe nigdy nie przesuwają tego wskaźnika):
v1.0.0 i 1.0.0 żądanym tagiem wydania. Dwa wymienione pakiety to zależności peer — SDK wymaga ich, ale pozwala kontrolować wersję.
Opublikowana paczka zawiera plik SHA-256 obok niej (<tarball>.sha256 / latest.tgz.sha256), jeśli chcesz zweryfikować integralność przed instalacją.
Expo
Obie zależności peer są wstępnie spakowane w Expo Go (SDK 54+). W trybie deweloperskim nie jest potrzebna żadna dodatkowa konfiguracja. W przypadku kompilacji produkcyjnychexpo prebuild pobiera je automatycznie.
Bare React Native
Uprawnienia
Dla przepływu obuwniczego (skanowanie aparatem), dodaj do
ios/<App>/Info.plist:
android/app/src/main/AndroidManifest.xml:
Konfiguracja jednorazowa przy uruchomieniu aplikacji
| Pole | Wymagane | Opis |
|---|---|---|
publicId | tak | UUID identyfikujący Twojego sprzedawcę (dostarczony przez Kleep) |
language | nie | 'fr' | 'en' | 'de' | 'it' | 'es' | 'nl' | 'pt' | 'ja' | 'ko' | 'pl' | 'br' | 'dk' | 'fi' | 'se' | 'gb' |
Użycie
Metoda 1: Kleep.checkProduct
Wywołaj tę metodę podczas montowania strony PDP. Wynik steruje przyciskiem CTA „Znajdź mój rozmiar” — czy go wyświetlić i jaki napis pokazać.
| parametr | priorytet | opis |
|---|---|---|
productId | wymagany | Identyfikator Twojego produktu u sprzedawcy |
recommendable | recommendedSize | Co wyświetlić |
|---|---|---|
false | — | Ukryj CTA (produkt nie kwalifikuje się do Kleep) |
true | brak | CTA: “Trouver ma taille” |
true | "M" | CTA: “Taille recommandée: M” |
(publicId, productId) dla bramki i (publicId, productId, mid) dla zalecanego rozmiaru. Ponowne renderowanie strony PDP lub nawigacja wstecz nie generuje kosztów.
Przykład implementacji
Metoda 2: <KleepFindSizeView>
Zamontuj ten komponent, aby otworzyć panel znajdowania rozmiaru w pełnoekranowym Modal+WebView. Wzorzec sterowanego komponentu: Ty zarządzasz stanem visible, SDK żąda zamknięcia przez onDismiss.
| właściwość | priorytet | opis |
|---|---|---|
visible | wymagana | Steruje widocznością Modal |
productId | wymagana | Taki sam jak w checkProduct |
onDismiss | wymagana | Wywoływany gdy użytkownik zamyka panel (X / przeciągnięcie / wstecz). Aplikacja MUSI ustawić visible na false |
variantId | opcjonalna | Wstępnie wybiera wariant dla rekomendacji |
customerId | opcjonalna | Identyfikator CRM do łączenia między sesjami |
language | opcjonalna | Nadpisuje język ustawiony na poziomie SDK dla tego otwarcia |
countryCode | opcjonalna | np. "FR", "US" — określa system jednostek i domyślne rozmiary biustonoszy |
stocks | opcjonalna | { [variantId]: number | boolean } — panel wyświetla UI dla niedostępnych / częściowo dostępnych produktów |
mock | opcjonalna | true → panel pomija rzeczywiste wywołania API rekomendacji (tylko dla QA) |
forceState | opcjonalna | 'outOfRange' | 'unavailable' | 'error' | 'qrcode' — wyjście QA do bezpośredniego renderowania stanu końcowego |
warmRestore | opcjonalna | { mid, uid } — wstępne załadowanie istniejącego pomiaru (pominięcie przepływu wprowadzającego). Przywracanie na tym samym urządzeniu jest już automatyczne przez AsyncStorage |
extraParams | opcjonalna | Surowy Record<string, string> dołączany do URL panelu (mechanizm obejścia) |
onAddToCart | opcjonalna | (event: { variantId, size? }) => void — użytkownik nacisnął przycisk „Dodaj do koszyka” wewnątrz panelu. Aplikacja dodaje wariant do koszyka |
onSelectSize | opcjonalna | (event: { size }) => void — użytkownik wybrał rozmiar na ekranie wyników. Aplikacja powinna zsynchronizować swój selektor rozmiaru na stronie PDP |
onMessage | opcjonalna | Hak debugowania — uruchamiany dla każdej przychodzącej wiadomości postMessage przetworzonej z panelu |
style | opcjonalna | StyleProp<ViewStyle> — nadpisanie stylów kontenera |
webViewProps | opcjonalna | Przekazywane do react-native-webview w celu zaawansowanej personalizacji |
- Łączy komunikaty
window.parent.postMessagew stylu iframe panelu z mostem React Native - Zapisuje
mid/uidw AsyncStorage, gdy panel je przesyła - Odpowiada na wiadomości
getMid/getUid/getSizespostMessage z panelu - Wywołuje
Kleep.checkProductprzy otwarciu w celu rozwiązania przepływu (clothing / lingerie / footwear / children) — używa tej samej 5-minutowej pamięci podręcznej co Twoje wywołanie CTA, więc jest bezkosztowe, jeśli już wywołałeścheckProduct
Metoda 3: Kleep.track
Analityka w trybie „fire-and-forget”. Nigdy nie zgłasza błędu.
| parametr | priorytet | opis |
|---|---|---|
eventName | wymagany | Nazwa zdarzenia |
options.customerId | opcjonalny | Identyfikator CRM |
options.parameters | opcjonalny | Record<string, unknown> — dowolne dane zdarzenia |
| eventName | Wyzwalacz |
|---|---|
product_viewed | Po wyświetleniu strony produktu (PDP) |
product_added_to_cart | Po dodaniu produktu do koszyka |
checkout_completed | Po potwierdzeniu zamówienia po płatności |
product_viewed
product_added_to_cart
checkout_completed
Unieważnianie pamięci podręcznej
SDK utrzymuje dwie pamięci podręczne w pamięci RAM (każda z TTL 5 min):
- Bramka produktu —
(publicId, productId) → { recommendable, category, productFound } - Zalecany rozmiar —
(publicId, productId, mid) → size label
