Mobile App¶
Vesana hat eine Android-App für unterwegs. iOS ist aktuell nicht verfügbar.
Installation¶
Die APK liegt unter /downloads der Vesana-Instanz. Nutzer können:
- Browser auf der Mobile öffnen,
https://deine-domain.tld/downloads - APK herunterladen (
vesana.apk, ~30 MB) - Installation aus unbekannter Quelle erlauben (Android-System-Setting)
- APK öffnen, installieren
Alternative: per MDM verteilen (Intune, MobileIron, etc.) — APK liegt im Bundle.
Server-Kopplung¶
Beim ersten Start:
- Server-URL eingeben (
https://deine-domain.tld) - E-Mail + Passwort + 2FA-Code (falls aktiv)
Token wird in AsyncStorage abgelegt. Bei Logout: Token weg.
Screens¶
| Screen | Was du dort machst |
|---|---|
| Dashboard | Status-Summary + Tenant-Übersicht |
| Hosts | Liste nach Tenant, Suche, Status-Sortierung |
| Host-Detail | Services-Status, ACK, Quick-Downtime, Bottom-Sheet für Aktionen |
| Problems | Fehlerübersicht mit Filter (Tenant, Status), ACK/DT-Toggles |
| Notifications | lokale Push-Historie, Unread-Badge |
| Downtimes | aktive Downtimes, neue per Modal mit Host-Suche |
| Settings | Theme (Dark/Light), Sprache (DE/EN), Server trennen |
| Profile | User-Info, Rolle, Permissions, Logout |
Push-Notifications¶
Voraussetzung: Firebase konfiguriert auf der Instanz. Siehe Push-Notifications.
Wenn aktiv:
- Pro registriertem Gerät: Token in
push_tokens-Tabelle - Severity-Filter pro Channel
- User-Targeting möglich (Channel sendet nur an ausgewählte User)
- Tap auf Notification → Deep-Link zur Host-Detail-Seite
- Lokaler Speicher: max. 100 Notifications in AsyncStorage
Deep-Links¶
App registriert sich für vesana:// Deep-Links und für die Server-Domain.
Beispiele:
| URL | Wirkung |
|---|---|
vesana://hosts/<id> |
Host-Detail |
vesana://problems |
Problem-Liste |
https://deine-domain.tld/hosts/<id> |
wenn Mobile-App installiert: in App öffnen, sonst Browser |
Bei Push-Tap nutzt die App host_id aus dem Notification-Payload.
Dark / Light¶
20 Themes synchron mit Web-App. Theme-Wechsel pro User in den App-Settings — wird beim Login als User-Pref vom Server gezogen.
Offline-Verhalten¶
App cached die letzte Sicht. Bei verlorener Verbindung:
- Dashboard zeigt zuletzt bekannte Daten
- Pull-to-Refresh versucht erneut
- Notifications werden weiterhin angenommen (FCM ist unabhängig)
- ACK / Downtime können offline angetippt werden, werden bei Re-Connect synchronisiert
Logout vs. Server-trennen¶
| Aktion | Wirkung |
|---|---|
| Logout | Token weg, Server bleibt konfiguriert |
| Server trennen | Token weg + Server-URL weg |
Logout ist die schnelle Variante zum User-Wechsel. Server-trennen für Demo-Wechsel oder MDM-Reset.
Aktualisieren¶
Die App aktualisiert sich nicht automatisch (keine Play-Store-Distribution). Update-Pfad:
- Neue APK von
/downloadsziehen - Über existierende Installation drüberinstallieren
Daten bleiben erhalten.
Privacy¶
App sendet:
- Push-Token (zum Server, gespeichert mit User-Bindung)
- Eigener Login + Passwort + 2FA an den Server
App sendet nicht:
- Daten an Drittanbieter
- Kontaktliste
- Standort
Anschluss¶
- Push-Notifications — Firebase-Setup
- Notification Channels — User-Targeting