Aller au contenu principal

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

  1. Ouvrez le dossier android/ de votre achat LeadHub dans Android Studio.
  2. Laissez Gradle synchroniser et télécharger les dépendances automatiquement.
  3. 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

  1. L'utilisateur saisit l'URL de son instance LeadHub et la clé API sur l'écran de connexion.
  2. L'application appelle GET /api/v1/health pour vérifier que l'instance est accessible.
  3. 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.
  4. 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 :

  1. Créez un projet Firebase sur console.firebase.google.com.
  2. Ajoutez une application Android au projet avec le nom de package de votre application.
  3. Téléchargez google-services.json et placez-le dans le répertoire app/.
  4. Dans la configuration du backend LeadHub, définissez FCM_SERVER_KEY avec 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

  1. Générez un keystore de signature : keytool -genkey -v -keystore leadhub.keystore -alias leadhub -keyalg RSA -keysize 2048 -validity 10000
  2. Ajoutez la configuration de signature à app/build.gradle.
  3. Compilez un APK ou AAB signé via Build → Generate Signed Bundle/APK.
  4. 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 :

EndpointObjectif
GET /api/v1/healthVérifier la connectivité de l'instance
GET /api/v1/leadsCharger 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}/tagsAjouter un tag à un lead
GET /api/v1/pipelinesCharger la liste des pipelines pour le sélecteur d'étapes

Scopes Minimum Requis pour la Clé API

ScopeRaison
read:leadsConsulter les leads
write:leadsMettre à jour le statut, l'étape et les tags du lead
read:pipelinesRemplir le sélecteur d'étapes du pipeline