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:
| Requisito | Detalhe |
|---|---|
| Android Studio | Hedgehog (2023.1.1) ou mais recente |
| JDK | 17 ou superior |
| Nível mínimo de API | 26 (Android 8.0) |
| Instância LeadHub | Acessível via HTTPS com SSL válido |
| Chave de API | Gerada 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:
| Camada | Tecnologia |
|---|---|
| Rede | Retrofit + OkHttp |
| Estado da UI | ViewModel + LiveData |
| Armazenamento local | Room (banco de dados SQLite) |
| Notificações push | Firebase Cloud Messaging (FCM) |
| Armazenamento de credenciais | EncryptedSharedPreferences |
Fluxo de Autenticação
- O usuário insere a URL da instância e a chave de API na tela de login.
- O aplicativo chama
GET /api/healthpara verificar a acessibilidade da instância. - O aplicativo chama
GET /api/users/mecom a chave de API como token Bearer. - 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.
- Crie um projeto no Firebase Console.
- Adicione um aplicativo Android com o package name do seu aplicativo.
- Faça o download do
google-services.jsone coloque-o emapp/. - 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
| Endpoint | Propósito |
|---|---|
GET /api/health | Verificar acessibilidade da instância |
GET /api/users/me | Validar chave de API e obter informações do usuário |
GET /api/leads | Buscar lista de leads |
GET /api/leads/{id} | Obter detalhes do lead |
PUT /api/leads/{id} | Atualizar lead |
GET /api/pipelines | Buscar pipelines e etapas |
Escopos Mínimos de Chave de API Necessários
| Escopo | Motivo |
|---|---|
read:leads | Visualizar leads |
write:leads | Atualizar leads do aplicativo |
read:pipelines | Exibir etapas do pipeline |