Zum Hauptinhalt springen
Version: Guardian v0.1.0

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​

PropTypStandardBeschreibung
environment'production' | 'sandbox''production'Backend-Umgebung
logLevel'debug' | 'info' | 'warn' | 'error' | 'none''warn'SDK-Protokolldetailliertheit
collectLocationbooleanfalseGPS-Erfassung aktivieren (erfordert Berechtigungen)
collectWifiInfobooleanfalseWLAN-Netzwerkdetails aktivieren
collectSimCardInfobooleanfalseSIM-/Anbieterinfo aktivieren (nur Android)
collectCameraInfobooleanfalseKamerainformationen 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​

FehlerUrsacheLösung
not_initializedverify() wurde aufgerufen, bevor das SDK bereit warGuardianProvider verwenden oder initialize() beim Start aufrufen
useGuardian-Hook-FehlerHook außerhalb des Providers verwendetKomponentenbaum mit <GuardianProvider> umschließen
invalid_jwtJWT fehlt, ist fehlerhaft oder wurde abgelehntStellen Sie sicher, dass Ihr Backend pro Aufruf ein frisches JWT erzeugt und es an verify() übergibt