Saltar al contenido principal
Version: Guardian v0.1.0

Configuración del proveedor

Opción A: Proveedor + Hook (Recomendado)​

Envuelve la raíz de tu aplicación con GuardianProvider. Esto inicializa el SDK y lo expone a todos los componentes secundarios a través del hook useGuardian.

App.tsx
import { GuardianProvider } from '@surtai/guardian-rn';

export default function App() {
return (
<GuardianProvider
environment="production"
collectLocation={true}
>
<Navigation />
</GuardianProvider>
);
}

El SDK no maneja ninguna clave de API. El contexto de cliente y de transacción provienen de un JWT de corta duración que genera tu backend. Consulta Verificar transacciones para más detalles.

Props del proveedor​

PropTipoPredeterminadoDescripción
environment'production' | 'sandbox''production'Entorno del backend
logLevel'debug' | 'info' | 'warn' | 'error' | 'none''warn'Nivel de registro del SDK
collectLocationbooleanfalseHabilitar recopilación GPS (requiere permisos)
collectWifiInfobooleanfalseHabilitar detalles de red WiFi
collectSimCardInfobooleanfalseHabilitar información de SIM/operador (solo Android)
collectCameraInfobooleanfalseHabilitar información de cámara

Opción B: API imperativa​

Si prefieres no usar el contexto de React, llama a initialize() directamente al arrancar la aplicación:

index.ts
import { GuardianSDK } from '@surtai/guardian-rn';

GuardianSDK.initialize({
environment: 'production',
logLevel: 'warn',
collectLocation: true,
});

Hook useGuardian​

const {
isInitialized, // boolean - true después de que el SDK esté listo
verify, // (jwt: string, options?: VerifyOptions) => Promise<VerificationResult>
collect, // (jwt?: string, options?: CollectOptions) => Promise<CollectResult>
} = useGuardian();
aviso

useGuardian() debe llamarse dentro de un <GuardianProvider>. Llamarlo fuera lanza un error.

Solución de problemas​

ErrorCausaSolución
not_initializedverify() llamado antes de que el SDK esté listoUsa GuardianProvider o llama a initialize() al arrancar
Error del hook useGuardianHook usado fuera del proveedorEnvuelve el árbol de componentes con <GuardianProvider>
invalid_jwtJWT faltante, malformado o rechazadoAsegúrate de que tu backend genere un JWT fresco por cada llamada y lo pase a verify()