Android-App
Diese Anleitung richtet sich an Entwickler, die die LeadHub-Android-Begleit-App erstellen oder anpassen möchten. Der Quellcode der App ist in Kotlin geschrieben und folgt den standardmäßigen Android-Entwicklungsmustern.
Anforderungen
- Android Studio (neueste stabile Version)
- JDK 17 oder höher
- Android SDK — minimales API-Level 26 (Android 8.0)
- Eine LeadHub-Instanz mit einer gültigen HTTPS-URL und einem aktiven API-Schlüssel
Projekteinrichtung
- Öffnen Sie den Ordner
android/aus Ihrem LeadHub-Kauf in Android Studio. - Lassen Sie Gradle synchronisieren und Abhängigkeiten automatisch herunterladen.
- Öffnen Sie
app/src/main/res/values/config.xml(oder die entsprechende Konfigurationsdatei im Projekt) und setzen Sie Ihre Standard-Instanz-URL, wenn Sie sie für Benutzer vorausfüllen möchten.
Architektur
Die App verwendet eine standardmäßige Android-Architektur:
- Retrofit für HTTP-Aufrufe an die LeadHub REST-API
- ViewModel + LiveData für das UI-State-Management
- Room für lokales Caching von Leads zwischen Sitzungen
- Firebase Cloud Messaging (FCM) für Push-Benachrichtigungen
Alle API-Aufrufe verwenden das Header-Muster Authorization: Bearer {api_key}. Der API-Schlüssel wird in Androids EncryptedSharedPreferences gespeichert.
Authentifizierungsablauf
- Der Benutzer gibt seine LeadHub-Instanz-URL und den API-Schlüssel auf dem Anmeldebildschirm ein.
- Die App ruft
GET /api/v1/healthauf, um zu prüfen, ob die Instanz erreichbar ist. - Dann ruft sie
GET /api/v1/users/me(oder äquivalent) auf, um zu prüfen, ob der Schlüssel gültig ist, und holt das Benutzerprofil. - URL und Schlüssel werden für nachfolgende Starts in EncryptedSharedPreferences gespeichert.
Push-Benachrichtigungen
Push-Benachrichtigungen werden über Firebase Cloud Messaging zugestellt. So aktivieren Sie sie:
- Erstellen Sie ein Firebase-Projekt unter console.firebase.google.com.
- Fügen Sie dem Projekt eine Android-App mit dem Paketnamen Ihrer App hinzu.
- Laden Sie
google-services.jsonherunter und legen Sie es imapp/-Verzeichnis ab. - Setzen Sie in der LeadHub-Backend-Konfiguration
FCM_SERVER_KEYauf Ihren Firebase-Server-Schlüssel.
Die App registriert ihr FCM-Token beim LeadHub-Backend, wenn sich der Benutzer anmeldet.
Build für die Veröffentlichung
- Generieren Sie einen Signing-Keystore:
keytool -genkey -v -keystore leadhub.keystore -alias leadhub -keyalg RSA -keysize 2048 -validity 10000 - Fügen Sie die Signing-Konfiguration zu
app/build.gradlehinzu. - Erstellen Sie ein signiertes APK oder AAB über Build → Generate Signed Bundle/APK.
- Laden Sie das AAB in die Google Play Console hoch.
Verwendete API-Endpunkte
Die App verwendet diese LeadHub-API-Endpunkte. Alle erfordern ein gültiges Bearer-Token:
| Endpunkt | Zweck |
|---|---|
GET /api/v1/health | Instanz-Konnektivität prüfen |
GET /api/v1/leads | Lead-Liste laden |
GET /api/v1/leads/{id} | Lead-Detail laden |
PATCH /api/v1/leads/{id} | Lead-Status oder -Stufe aktualisieren |
POST /api/v1/leads/{id}/tags | Tag zu einem Lead hinzufügen |
GET /api/v1/pipelines | Pipeline-Liste für die Stufenauswahl laden |
Mindest-Scopes für den API-Schlüssel
| Scope | Grund |
|---|---|
read:leads | Leads anzeigen |
write:leads | Lead-Status, -Stufe und -Tags aktualisieren |
read:pipelines | Pipeline-Stufenauswahl befüllen |