Configuración del proveedor
Opción A: Proveedor + Hook (Recomendado)
Envuelva la raíz de su 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
apiKey="YOUR_API_KEY"
environment="production"
collectLocation={true}
>
<Navigation />
</GuardianProvider>
);
}
Props del proveedor
| Prop | Tipo | Predeterminado | Descripción |
|---|---|---|---|
apiKey | string | requerido | Su clave de API de Surt (API key) |
environment | 'production' | 'sandbox' | 'production' | Entorno del backend |
logLevel | 'debug' | 'info' | 'warn' | 'error' | 'none' | 'warn' | Nivel de registro del SDK |
collectLocation | boolean | false | Habilitar recopilación GPS (requiere permisos) |
collectWifiInfo | boolean | false | Habilitar detalles de red WiFi |
collectSimCardInfo | boolean | false | Habilitar información de SIM/operador (solo Android) |
collectCameraInfo | boolean | false | Habilitar información de cámara |
Opción B: API imperativa
Si prefiere no usar el contexto de React, llame a initialize() directamente al arrancar la aplicación:
index.ts
import { GuardianSDK } from '@surtai/guardian-rn';
GuardianSDK.initialize('API keyxxx', {
environment: 'production',
logLevel: 'warn',
collectLocation: true,
});
Hook useGuardian
const {
isInitialized, // boolean - true después de que el SDK esté listo
verify, // (type, name?, options?) => Promise<VerificationResult>
setCustomer, // (id, name?, email?) => void
clearCustomer, // () => void
} = useGuardian();
aviso
useGuardian() debe llamarse dentro de un <GuardianProvider>. Llamarlo fuera lanza un error.
Solución de problemas
| Error | Causa | Solución |
|---|---|---|
not_initialized | verify() llamado antes de que el SDK esté listo | Use GuardianProvider o llame a initialize() al arrancar |
Error del hook useGuardian | Hook usado fuera del proveedor | Envuelva el árbol de componentes con <GuardianProvider> |
invalid_api_key | Clave de API incorrecta o expirada | Verifique su clave API key con Surt |