React Native -integraatio
Integroi SilentShield React Native -sovelluksiin WebView-pohjaisen kääreen avulla. Widget toimii kevyen WebView'n sisällä ja viestii sovelluksesi kanssa React Nativen viestisillan kautta.
Asennus
Early Access
React Native -paketti on tällä hetkellä early access -vaiheessa — pyydä se osoitteesta [email protected]; npm-julkaisu seuraa. Alla olevat esimerkit näyttävät early access -paketin API:n.
# Early access — request the package via [email protected]
# (npm release to follow). Peer dependency:
npm install react-native-webviewiOS: asenna CocoaPods
Suorita asennuksen jälkeen cd ios && pod install linkittääksesi natiivin WebView-riippuvuuden.
Komponentin käyttö
Helpoin tapa integroida SilentShield on <SilentShield /> -komponentti:
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>
);
}Props-viite
| Prop | Type | Required | Kuvaus |
|---|---|---|---|
| apiKey | string | Kyllä | SilentShield-API-avaimesi |
| baseUrl | string | Kyllä | SilentShield-API:n perus-URL |
| onVerdict | (result) => void | Kyllä | Takaisinkutsu, joka saa arvion tuloksen |
| onError | (error) => void | Ei | Virheen takaisinkutsu |
| onReady | () => void | Ei | Kutsutaan, kun widget on ladattu |
| lang | string | Ei | Kielikoodi (oletus: "en") |
| zeroPii | boolean | Ei | Ota Zero-PII-tila käyttöön (ei sormenjälkitunnistusta) |
| theme | "light" | "dark" | "auto" | Ei | Widgetin teema |
| invisible | boolean | Ei | Piilota widget, vahvista ohjelmallisesti |
Hookin käyttö (ohjelmallinen)
Käytä näkymättömään vahvistukseen tai mukautettuihin käyttöliittymäkulkuihin useSilentShield()-hookia:
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>
);
}Näkymätön tila
Näkymättömässä tilassa WebView renderöidään nollakorkeudella ja nollapeittävyydellä. Käyttäytymisen seuranta toimii taustalla, ja käynnistät vahvistuksen ohjelmallisesti verify()-funktiolla. Tämä sopii erinomaisesti kirjautumisnäkymiin ja kassaprosesseihin.
<SilentShield
apiKey="YOUR_API_KEY"
baseUrl="https://api.silentshield.io"
onVerdict={handleVerdict}
invisible={true} // No visible UI
/>Suositus: käytä mobiilissa Zero-PII-tilaa
WebView'n sisällä kerätyt selaimen sormenjäljet ovat vähemmän luotettavia kuin oikeassa selaimessa. Suosittelemme ottamaan React Native -sovelluksissa käyttöön asetuksen zeroPii={true}, joka poistaa sormenjälkitunnistuksen käytöstä ja perustuu kokonaan käyttäytymissignaaleihin.