Aplicación Android
Esta guía es para desarrolladores que crean o personalizan la aplicación compañera de LeadHub para Android. El código fuente de la aplicación está escrito en Kotlin y sigue patrones estándar de desarrollo Android.
Requisitos
- Android Studio (última versión estable)
- JDK 17 o posterior
- Android SDK — nivel de API mínimo 26 (Android 8.0)
- Una instancia de LeadHub con una URL HTTPS válida y una clave de API activa
Configuración del Proyecto
- Abre la carpeta
android/de tu compra de LeadHub en Android Studio. - Deja que Gradle sincronice y descargue las dependencias automáticamente.
- Abre
app/src/main/res/values/config.xml(o el archivo de configuración equivalente en el proyecto) y establece la URL de instancia predeterminada si quieres rellenarla previamente para los usuarios.
Arquitectura
La aplicación usa una arquitectura estándar de Android:
- Retrofit para las llamadas HTTP a la API REST de LeadHub
- ViewModel + LiveData para la gestión del estado de la UI
- Room para el almacenamiento en caché local de leads entre sesiones
- Firebase Cloud Messaging (FCM) para las notificaciones push
Todas las llamadas a la API usan el patrón de cabecera Authorization: Bearer {api_key}. La clave de API se almacena en EncryptedSharedPreferences de Android.
Flujo de Autenticación
- El usuario introduce la URL de su instancia de LeadHub y la clave de API en la pantalla de inicio de sesión.
- La aplicación llama a
GET /api/v1/healthpara verificar que la instancia es accesible. - Luego llama a
GET /api/v1/users/me(o equivalente) para verificar que la clave es válida y obtener el perfil del usuario. - La URL y la clave se almacenan en EncryptedSharedPreferences para inicios posteriores.
Notificaciones Push
Las notificaciones push se entregan a través de Firebase Cloud Messaging. Para habilitarlas:
- Crea un proyecto de Firebase en console.firebase.google.com.
- Añade una aplicación Android al proyecto con el nombre del paquete de tu aplicación.
- Descarga
google-services.jsony colócalo en el directorioapp/. - En la configuración del backend de LeadHub, establece
FCM_SERVER_KEYcon tu clave de servidor de Firebase.
La aplicación registra su token FCM con el backend de LeadHub cuando el usuario inicia sesión.
Compilar para Distribución
- Genera un keystore de firma:
keytool -genkey -v -keystore leadhub.keystore -alias leadhub -keyalg RSA -keysize 2048 -validity 10000 - Añade la configuración de firma a
app/build.gradle. - Compila un APK o AAB firmado mediante Build → Generate Signed Bundle/APK.
- Sube el AAB a la Google Play Console.
Endpoints de API Utilizados
La aplicación usa estos endpoints de la API de LeadHub. Todos requieren un token Bearer válido:
| Endpoint | Propósito |
|---|---|
GET /api/v1/health | Verificar la conectividad de la instancia |
GET /api/v1/leads | Cargar la lista de leads |
GET /api/v1/leads/{id} | Cargar el detalle de un lead |
PATCH /api/v1/leads/{id} | Actualizar el estado o la etapa del lead |
POST /api/v1/leads/{id}/tags | Añadir etiqueta a un lead |
GET /api/v1/pipelines | Cargar la lista de pipelines para el selector de etapas |
Alcances Mínimos Requeridos de la Clave de API
| Alcance | Motivo |
|---|---|
read:leads | Ver leads |
write:leads | Actualizar estado, etapa y etiquetas del lead |
read:pipelines | Rellenar el selector de etapas del pipeline |