Saltar al contenido principal

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

  1. Abre la carpeta android/ de tu compra de LeadHub en Android Studio.
  2. Deja que Gradle sincronice y descargue las dependencias automáticamente.
  3. 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

  1. El usuario introduce la URL de su instancia de LeadHub y la clave de API en la pantalla de inicio de sesión.
  2. La aplicación llama a GET /api/v1/health para verificar que la instancia es accesible.
  3. Luego llama a GET /api/v1/users/me (o equivalente) para verificar que la clave es válida y obtener el perfil del usuario.
  4. 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:

  1. Crea un proyecto de Firebase en console.firebase.google.com.
  2. Añade una aplicación Android al proyecto con el nombre del paquete de tu aplicación.
  3. Descarga google-services.json y colócalo en el directorio app/.
  4. En la configuración del backend de LeadHub, establece FCM_SERVER_KEY con 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

  1. Genera un keystore de firma: keytool -genkey -v -keystore leadhub.keystore -alias leadhub -keyalg RSA -keysize 2048 -validity 10000
  2. Añade la configuración de firma a app/build.gradle.
  3. Compila un APK o AAB firmado mediante Build → Generate Signed Bundle/APK.
  4. 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:

EndpointPropósito
GET /api/v1/healthVerificar la conectividad de la instancia
GET /api/v1/leadsCargar 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}/tagsAñadir etiqueta a un lead
GET /api/v1/pipelinesCargar la lista de pipelines para el selector de etapas

Alcances Mínimos Requeridos de la Clave de API

AlcanceMotivo
read:leadsVer leads
write:leadsActualizar estado, etapa y etiquetas del lead
read:pipelinesRellenar el selector de etapas del pipeline