Application Android
Ce guide s'adresse aux développeurs qui construisent ou personnalisent l'application compagnon Android de LeadHub. Le code source de l'application est écrit en Kotlin et suit les patterns de développement Android standard.
Prérequis
- Android Studio (dernière version stable)
- JDK 17 ou version ultérieure
- Android SDK — niveau d'API minimum 26 (Android 8.0)
- Une instance LeadHub avec une URL HTTPS valide et une clé API active
Configuration du Projet
- Ouvrez le dossier
android/de votre achat LeadHub dans Android Studio. - Laissez Gradle synchroniser et télécharger les dépendances automatiquement.
- Ouvrez
app/src/main/res/values/config.xml(ou le fichier de configuration équivalent dans le projet) et définissez votre URL d'instance par défaut si vous souhaitez la pré-remplir pour les utilisateurs.
Architecture
L'application utilise une architecture Android standard :
- Retrofit pour les appels HTTP vers l'API REST LeadHub
- ViewModel + LiveData pour la gestion de l'état de l'interface
- Room pour la mise en cache locale des leads entre les sessions
- Firebase Cloud Messaging (FCM) pour les notifications push
Tous les appels API utilisent le pattern d'en-tête Authorization: Bearer {api_key}. La clé API est stockée dans EncryptedSharedPreferences d'Android.
Flux d'Authentification
- L'utilisateur saisit l'URL de son instance LeadHub et la clé API sur l'écran de connexion.
- L'application appelle
GET /api/v1/healthpour vérifier que l'instance est accessible. - Elle appelle ensuite
GET /api/v1/users/me(ou équivalent) pour vérifier que la clé est valide et récupérer le profil utilisateur. - L'URL et la clé sont stockées dans EncryptedSharedPreferences pour les lancements ultérieurs.
Notifications Push
Les notifications push sont livrées via Firebase Cloud Messaging. Pour les activer :
- Créez un projet Firebase sur console.firebase.google.com.
- Ajoutez une application Android au projet avec le nom de package de votre application.
- Téléchargez
google-services.jsonet placez-le dans le répertoireapp/. - Dans la configuration du backend LeadHub, définissez
FCM_SERVER_KEYavec votre clé serveur Firebase.
L'application enregistre son token FCM auprès du backend LeadHub lors de la connexion de l'utilisateur.
Compilation pour la Distribution
- Générez un keystore de signature :
keytool -genkey -v -keystore leadhub.keystore -alias leadhub -keyalg RSA -keysize 2048 -validity 10000 - Ajoutez la configuration de signature à
app/build.gradle. - Compilez un APK ou AAB signé via Build → Generate Signed Bundle/APK.
- Téléchargez l'AAB dans la Google Play Console.
Endpoints API Utilisés
L'application utilise ces endpoints de l'API LeadHub. Tous requièrent un token Bearer valide :
| Endpoint | Objectif |
|---|---|
GET /api/v1/health | Vérifier la connectivité de l'instance |
GET /api/v1/leads | Charger la liste des leads |
GET /api/v1/leads/{id} | Charger le détail d'un lead |
PATCH /api/v1/leads/{id} | Mettre à jour le statut ou l'étape du lead |
POST /api/v1/leads/{id}/tags | Ajouter un tag à un lead |
GET /api/v1/pipelines | Charger la liste des pipelines pour le sélecteur d'étapes |
Scopes Minimum Requis pour la Clé API
| Scope | Raison |
|---|---|
read:leads | Consulter les leads |
write:leads | Mettre à jour le statut, l'étape et les tags du lead |
read:pipelines | Remplir le sélecteur d'étapes du pipeline |