Qué hace el SDK (y qué no)
El SDK de Gu1 corre dentro de tu app y captura lo que el backend no puede ver: señales del dispositivo, integridad del entorno y el recorrido de pantallas — incluido el tramo anterior al login. Los eventos que hoy envías desde tu backend siguen exactamente igual: solo se les anexa unsessionId para que el motor de Gu1 cruce ambos mundos.
El SDK es fail-open por diseño: nunca bloquea la app, nunca propaga errores (la única excepción es configuración inválida en la inicialización), no requiere ningún permiso y no accede a datos del usuario.
| Peso | ~150 KB |
| Permisos requeridos | Ninguno |
| Requisitos | React Native 0.71+, iOS 13+, Android 6+ (API 23) |
| Distribución | npm privado (scope @gu1 — solicitá acceso de lectura a Gu1) |
1. Instalación
AndroidManifest.xml ni en Info.plist.
2. Inicialización (en el entry point de la app)
sessionId anónimo, colecta señales del dispositivo y las envía en segundo plano. No hay nada más que hacer en la app para la captura de señales.
3. Tracking de pantallas (recomendado — 5 líneas)
Con React Navigation, el SDK captura navegación y tiempos de pantalla automáticamente:4. El sessionId hacia tu backend (1 header)
Para que tus eventos de backend queden vinculados a la sesión del dispositivo, agregá elsessionId como header en las llamadas de la app a tu propio backend:
- Primer request autenticado: enviá a Gu1 un evento con
sessionId+ elentityExternalIddel usuario. Gu1 vincula retroactivamente toda la sesión, incluido lo anterior al login. - Eventos existentes: a los eventos que ya envías a
POST /events/usersumales el camposessionId(camelCase, opcional — los eventos sin él siguen funcionando igual).
5. Transacciones (1 línea)
En las transacciones que envías a Gu1, elsessionId viaja en metadata:
6. Verificación
- Inicializá la app en sandbox → en el dashboard de Gu1 aparece la sesión con las señales del dispositivo.
- Navegá entre pantallas → eventos
NAVIGATIONautomáticos. - Iniciá sesión → la sesión queda vinculada al usuario (binding retroactivo).
- Ejecutá una transferencia de prueba → la transacción muestra el contexto de sesión en su evaluación.
Resumen de la integración
| Paso | Dónde | Esfuerzo |
|---|---|---|
| Instalar + inicializar | App | ~15 min |
| Screen tracking | App | 5 líneas |
Header X-Gu1-Session-Id | App (cliente HTTP) | 1 línea |
sessionId en eventos + binding | Backend (middleware) | ~1 hora |
sessionId en transacciones | Backend | 1 línea |