Instalación
Requisitos
- React Native 0.73+
- iOS 14.0+ / Android SDK 24+
- Node.js 18+
1. Configurar acceso npm
El SDK es un paquete npm privado. Agrega tu token de acceso a .npmrc en la raíz de tu proyecto:
//registry.npmjs.org/:_authToken=<YOUR_NPM_TOKEN>
Reemplaza <YOUR_NPM_TOKEN> con el token proporcionado por Surt. Este token se usa únicamente para instalar el paquete; es independiente de la clave de API de Surt que tu backend usa para generar JWTs.
Agrega .npmrc a tu .gitignore para evitar confirmar tokens.
2. Instalar el paquete
npm install @surtai/guardian-rn
Configuración de iOS
Instala las dependencias de CocoaPods:
cd ios && pod install && cd ..
Configuración de Android
Android se enlaza automáticamente. No se necesitan pasos adicionales.
3. Permisos de plataforma
Android: android/app/src/main/AndroidManifest.xml
Si habilitas la recopilación de ubicación:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Si habilitas la recopilación de información de tarjeta SIM:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
iOS: ios/<YourApp>/Info.plist
Si habilitas la recopilación de ubicación:
<key>NSLocationWhenInUseUsageDescription</key>
<string>Your location helps verify your identity and protect your account.</string>
Si habilitas la recopilación de información de cámara:
<key>NSCameraUsageDescription</key>
<string>Camera access helps verify device authenticity.</string>
El SDK gestiona automáticamente los avisos de permisos en tiempo de ejecución durante verify(). Solo necesitas declarar los permisos. No se necesita código adicional de permisos.
Solución de problemas
| Error | Causa | Solución |
|---|---|---|
npm 404 Not Found | Token npm faltante o inválido | Verifica que .npmrc tenga un _authToken válido |
| Pod install falla | Problema de caché de CocoaPods | Ejecuta cd ios && pod install --repo-update |
| Build iOS: "module not found" | Pods desincronizados | Ejecuta cd ios && pod install después de npm install |