Provider-Einrichtung
Option A: Provider + Hook (Empfohlen)
Umschließen Sie Ihren App-Stamm mit GuardianProvider. Dies initialisiert das SDK und macht es über den useGuardian-Hook für alle untergeordneten Komponenten zugänglich.
App.tsx
import { GuardianProvider } from '@surtai/guardian-rn';
export default function App() {
return (
<GuardianProvider
environment="production"
collectLocation={true}
>
<Navigation />
</GuardianProvider>
);
}
Das SDK hält keinen API-Schlüssel. Kunden- und Transaktionskontext stammen aus einem kurzlebigen JWT, das Ihr Backend erzeugt. Siehe Transaktionen verifizieren für Details.
Provider-Props
| Prop | Typ | Standard | Beschreibung |
|---|---|---|---|
environment | 'production' | 'sandbox' | 'production' | Backend-Umgebung |
logLevel | 'debug' | 'info' | 'warn' | 'error' | 'none' | 'warn' | SDK-Protokolldetailliertheit |
collectLocation | boolean | false | GPS-Erfassung aktivieren (erfordert Berechtigungen) |
collectWifiInfo | boolean | false | WLAN-Netzwerkdetails aktivieren |
collectSimCardInfo | boolean | false | SIM-/Anbieterinfo aktivieren (nur Android) |
collectCameraInfo | boolean | false | Kamerainformationen aktivieren |
Option B: Imperative API
Wenn Sie keinen React-Kontext verwenden möchten, rufen Sie initialize() direkt beim App-Start auf:
index.ts
import { GuardianSDK } from '@surtai/guardian-rn';
GuardianSDK.initialize({
environment: 'production',
logLevel: 'warn',
collectLocation: true,
});
useGuardian-Hook
const {
isInitialized, // boolean - true nachdem das SDK bereit ist
verify, // (jwt: string, options?: VerifyOptions) => Promise<VerificationResult>
collect, // (jwt?: string, options?: CollectOptions) => Promise<CollectResult>
} = useGuardian();
warnung
useGuardian() muss innerhalb eines <GuardianProvider> aufgerufen werden. Ein Aufruf außerhalb löst einen Fehler aus.
Fehlerbehebung
| Fehler | Ursache | Lösung |
|---|---|---|
not_initialized | verify() wurde aufgerufen, bevor das SDK bereit war | GuardianProvider verwenden oder initialize() beim Start aufrufen |
useGuardian-Hook-Fehler | Hook außerhalb des Providers verwendet | Komponentenbaum mit <GuardianProvider> umschließen |
invalid_jwt | JWT fehlt, ist fehlerhaft oder wurde abgelehnt | Stellen Sie sicher, dass Ihr Backend pro Aufruf ein frisches JWT erzeugt und es an verify() übergibt |