Pular para o conteúdo principal

Aplicativo Android

Guia do Desenvolvedor Android

Este documento cobre o aplicativo Android nativo do LeadHub — escrito em Kotlin — que se conecta à sua instância LeadHub via API REST. Destina-se a desenvolvedores que precisam compilar, personalizar ou implantar o aplicativo.


Requisitos

Antes de começar, certifique-se de ter:

RequisitoDetalhe
Android StudioHedgehog (2023.1.1) ou mais recente
JDK17 ou superior
Nível mínimo de API26 (Android 8.0)
Instância LeadHubAcessível via HTTPS com SSL válido
Chave de APIGerada no painel do usuário

Configuração do Projeto

1. Abrir o Projeto

Abra a pasta android/ no Android Studio. O Gradle sincronizará as dependências automaticamente.

2. Configurar a URL Base

Abra app/src/main/assets/config.xml e defina a URL da sua instância:

<config>
<base_url>https://yourdomain.com</base_url>
</config>

3. Sincronizar e Compilar

Execute Build → Make Project para verificar se tudo compila corretamente.


Arquitetura

O aplicativo usa um padrão MVVM padrão do Android:

CamadaTecnologia
RedeRetrofit + OkHttp
Estado da UIViewModel + LiveData
Armazenamento localRoom (banco de dados SQLite)
Notificações pushFirebase Cloud Messaging (FCM)
Armazenamento de credenciaisEncryptedSharedPreferences

Fluxo de Autenticação

  1. O usuário insere a URL da instância e a chave de API na tela de login.
  2. O aplicativo chama GET /api/health para verificar a acessibilidade da instância.
  3. O aplicativo chama GET /api/users/me com a chave de API como token Bearer.
  4. Em caso de sucesso, a chave de API é salva em EncryptedSharedPreferences e o usuário é considerado autenticado.

Notificações Push

O aplicativo usa Firebase Cloud Messaging para notificações de novos leads.

  1. Crie um projeto no Firebase Console.
  2. Adicione um aplicativo Android com o package name do seu aplicativo.
  3. Faça o download do google-services.json e coloque-o em app/.
  4. Adicione a chave do servidor FCM (FCM_SERVER_KEY) à sua configuração de servidor LeadHub para que o backend possa enviar notificações.

Compilação para Lançamento

1. Gerar um Keystore

keytool -genkey -v -keystore leadhub.keystore -alias leadhub -keyalg RSA -keysize 2048 -validity 10000

2. Configurar a Assinatura

Adicione os detalhes do keystore ao build.gradle do seu aplicativo na seção signingConfigs.

3. Compilar o APK / AAB de Lançamento

Use Build → Generate Signed Bundle / APK no Android Studio, ou execute:

./gradlew bundleRelease

O AAB de saída estará em app/build/outputs/bundle/release/.

4. Enviar para o Google Play

Faça o upload do arquivo AAB no Google Play Console em Produção → Criar nova versão.


Endpoints de API Utilizados

EndpointPropósito
GET /api/healthVerificar acessibilidade da instância
GET /api/users/meValidar chave de API e obter informações do usuário
GET /api/leadsBuscar lista de leads
GET /api/leads/{id}Obter detalhes do lead
PUT /api/leads/{id}Atualizar lead
GET /api/pipelinesBuscar pipelines e etapas

Escopos Mínimos de Chave de API Necessários

EscopoMotivo
read:leadsVisualizar leads
write:leadsAtualizar leads do aplicativo
read:pipelinesExibir etapas do pipeline