Integrácia pre React Native
Integrujte SilentShield do aplikácií React Native pomocou wrappera založeného na WebView. Widget beží vnútri odľahčeného WebView a s vašou aplikáciou komunikuje cez most správ React Native.
Inštalácia
Early Access
Balík React Native je momentálne v early access — vyžiadajte si ho na [email protected]; vydanie na npm bude nasledovať. Príklady nižšie ukazujú API balíka v early access.
# Early access — request the package via [email protected]
# (npm release to follow). Peer dependency:
npm install react-native-webviewiOS: nainštalujte CocoaPods
Po inštalácii spustite cd ios && pod install, aby sa prepojila natívna závislosť WebView.
Použitie komponentu
Najjednoduchší spôsob, ako SilentShield integrovať, je komponent <SilentShield />:
import { SilentShield } from '@silentshield/react-native';
function ContactForm() {
const [token, setToken] = useState<string | null>(null);
return (
<View>
{/* Your form fields */}
<TextInput placeholder="Email" />
<TextInput placeholder="Message" multiline />
{/* SilentShield widget */}
<SilentShield
apiKey="YOUR_API_KEY"
baseUrl="https://api.silentshield.io"
onVerdict={(result) => {
if (result.verdict === 'human') {
setToken(result.token);
}
}}
onError={(err) => console.error(err)}
lang="en"
theme="light"
/>
<Button
title="Submit"
onPress={() => submitForm(token)}
disabled={!token}
/>
</View>
);
}Prehľad props
| Prop | Type | Required | Popis |
|---|---|---|---|
| apiKey | string | Áno | Váš API kľúč SilentShield |
| baseUrl | string | Áno | Základná URL API SilentShield |
| onVerdict | (result) => void | Áno | Callback s výsledkom verdiktu |
| onError | (error) => void | Nie | Callback pri chybe |
| onReady | () => void | Nie | Volá sa po načítaní widgetu |
| lang | string | Nie | Kód jazyka (predvolené: "en") |
| zeroPii | boolean | Nie | Zapne režim Zero-PII (bez fingerprintingu) |
| theme | "light" | "dark" | "auto" | Nie | Motív widgetu |
| invisible | boolean | Nie | Skryje widget, overenie programovo |
Použitie hooku (programovo)
Na neviditeľné overenie alebo vlastné priebehy UI použite hook useSilentShield():
import { useSilentShield } from '@silentshield/react-native';
function LoginScreen() {
const { verify, reset, isReady, isVerifying, WebViewComponent } =
useSilentShield({
apiKey: 'YOUR_API_KEY',
baseUrl: 'https://api.silentshield.io',
});
const handleLogin = async () => {
const result = await verify();
if (result.verdict === 'human') {
// Submit login with result.token
}
};
return (
<View>
{/* Hidden WebView for behavior tracking */}
{WebViewComponent}
<TextInput placeholder="Email" />
<TextInput placeholder="Password" secureTextEntry />
<Button
title={isVerifying ? 'Verifying...' : 'Log In'}
onPress={handleLogin}
disabled={!isReady || isVerifying}
/>
</View>
);
}Neviditeľný režim
V neviditeľnom režime sa WebView vykreslí s nulovou výškou a nepriehľadnosťou. Sledovanie správania beží na pozadí a overenie spúšťate programovo funkciou verify(). To je ideálne pre prihlasovacie obrazovky a priebeh objednávky.
<SilentShield
apiKey="YOUR_API_KEY"
baseUrl="https://api.silentshield.io"
onVerdict={handleVerdict}
invisible={true} // No visible UI
/>Odporúčané: režim Zero-PII na mobile
Odtlačky prehliadača získané vo WebView sú menej spoľahlivé ako v skutočnom prehliadači. Pre aplikácie React Native odporúčame zapnúť zeroPii={true}, čo vypne snímanie odtlačku a spolieha sa výlučne na behaviorálne signály.