Einstellungen – App / API

Ports und Protokolle

Wird nach Neustart der Anwendung aktiv.
Standard: 5055. Auf diesem Port läuft das Admin-Webinterface.
Gespeichertes Direktprotokoll. Bei aktivem HAProxy-HTTPS lauscht Kestrel intern absichtlich per HTTP; die Auswahl bleibt trotzdem gespeichert.
Standard: 5056. Auf diesem Port sind nur App-API und Upload-/Logo-Dateien erreichbar.
HAProxy beendet HTTPS und leitet intern per HTTP auf den App-Port weiter. Kestrel benötigt dafür kein eigenes Zertifikat.
Ohne abschließenden Schrägstrich. Diese Adresse wird für API-, Logo-, Foto- und Medien-URLs an die App ausgegeben.
Gespeicherte Konfiguration
Webinterface: http://SERVER-IP:5055/
App-Direktmodus: http://SERVER-IP:5056/
HAProxy-HTTPS: aktiv

Seit dem letzten Start tatsächlich aktiv
Webinterface/Kestrel: http://0.0.0.0 / :::5055
App-API/Kestrel: http://0.0.0.0 / :::5056
Weichen gespeicherte und aktive Werte ab, ist ein Neustart erforderlich oder Kestrel ist wegen eines fehlenden HTTPS-Zertifikats auf HTTP zurückgefallen.
Öffentliche App/API: https://app-ticket.coteki.com
Mobile-Ping: https://app-ticket.coteki.com/api/mobile/ping
Bei HAProxy muss der öffentliche Request-Header X-Forwarded-Proto: https weitergegeben werden.

Freischaltung / Zugriffsschutz

Display-, Browser- und App-Freigaben erscheinen unter Admin → App-Benutzer. Ist „App erfordert Freigabe“ deaktiviert, werden neue und vorhandene nicht gesperrte App-Benutzer ohne manuelle Freigabe zugelassen.

Standardberechtigungen für neu registrierte Apps

Diese Rechte werden beim erstmaligen Registrieren einer neuen App-E-Mail-Adresse gesetzt. Bereits vorhandene App-Benutzer werden nicht verändert.

Status, die standardmäßig gesetzt werden dürfen

Browserfreigabe per Gruppenrichtlinie (GPO)

Wird nur ergänzt, wenn die GPO keinen vollständigen Benutzerprinzipalnamen übergibt.
Status: kein Schlüssel vorhanden. Die Benutzerrechte werden aus dem vorhandenen App-/Browser-Benutzer mit derselben E-Mail-Adresse übernommen und anschließend weiterhin unter „App-Benutzer“ verwaltet.

Mobile App – Icon / Startlogo / Farben

App-Icon und Startlogo
Das hier hochgeladene Bild wird von der App als Startlogo, Anmelde-Logo, Offline-Logo und In-App-Logo verwendet. Ist kein eigenes App-Logo hinterlegt, bleibt das bisherige Standard-/Portal-Logo als Fallback aktiv.
Das Bild wird sicher geprüft, quadratisch auf 1024 × 1024 px aufbereitet und mit transparentem Rand gespeichert.
Ohne eigenes Dunkelmodus-Bild wird automatisch das Hellmodus-Bild verwendet.
Hellmodus / Launcher-Quelle
App-Icon und Startlogo
Aktuell wird das Portal-/Standardlogo als Fallback verwendet.
Dunkelmodus
App-Startlogo Dunkelmodus
Das Startlogo wird nach dem nächsten erfolgreichen App-Kontakt automatisch übernommen und lokal zwischengespeichert. Das Symbol auf dem Android-/iOS-Startbildschirm ist Bestandteil der installierten APK/IPA und ändert sich daher erst nach einem neuen App-Build. Im Flutter-Projekt liegt dafür das Skript 01_APP_ICON_SYNCHRONISIEREN_UND_BUILDEN.bat.
Diese Werte liefert die App-Konfiguration über /api/mobile/config an die App.

Mobile App – normale Benutzer

Normale freigegebene App-Benutzer können Tickets erstellen und die Ticketliste sehen.

Mobile App – Admin

Diese globalen Schalter bleiben für Benutzer mit der Rolle Admin als zusätzliche Obergrenze aktiv. Die individuellen Rechte werden unter „App-Benutzer“ pro E-Mail festgelegt.

Push-Art

Die App fragt diesen Wert beim Server ab. Bei Firebase registriert die App ein FCM-Token. Bei Timer fragt die App regelmäßig /api/mobile/notifications ab.
Gewünscht: 5 Minuten. Wird nur verwendet, wenn oben Timer-Abfrage aktiv ist.

Firebase Push für Android und iOS

Wird für echten System-Push ohne Timer verwendet. iOS wird über dasselbe Firebase-Projekt mit APNs-Konfiguration versorgt.
Service-Account-JSON aus Firebase/Google Cloud. Ein bereits gespeichertes Servicekonto wird bei einem leeren Feld beibehalten. Ohne diese Daten werden keine serverseitigen Pushs versendet.

Kurzes Firebase-Tutorial

  1. Firebase Console öffnen und ein Projekt erstellen.
  2. Android-App hinzufügen. Paketname aus der App verwenden: de.ticketcenter.app.
  3. google-services.json herunterladen und in der Flutter-App unter android/app/google-services.json ablegen.
  4. In Google Cloud/Firebase einen Service Account Schlüssel als JSON erstellen.
  5. Die Firebase Project ID oben eintragen.
  6. Den kompletten Inhalt der Service-Account-JSON-Datei oben einfügen.
  7. Für iOS zusätzlich in Firebase die iOS-App hinzufügen und in Firebase die APNs-Konfiguration hinterlegen.
  8. App neu bauen, auf dem Gerät öffnen, Benachrichtigungen erlauben und App-Benutzer freigeben.

Pushbenachrichtigungen

Wird verwendet, wenn für einen Status kein eigener Text hinterlegt ist. Platzhalter: {ticket}, {status}, {problemfall}, {raum}
Die Liste erweitert sich automatisch, wenn neue Statuswerte angelegt werden.

Freigabe-/Sperrtexte

Die App speichert diesen Text zusammen mit dem Logo lokal und zeigt ihn an, wenn der Server nicht erreichbar ist.
Wenn deaktiviert, wird das Server-Feld in den App-Einstellungen ausgeblendet. Bei fehlender Serververbindung wird es trotzdem eingeblendet.
Standard: 5 Sekunden. Danach zeigt die App den Bildschirm „Keine Verbindung zum Server“.
Wenn deaktiviert, wird die Timeout-Anzeige in den App-Einstellungen ausgeblendet.
Zurück

Manuelle Freitext-Pushnachricht senden

Es werden nur E-Mail-Adressen angezeigt, die sich in der App registriert haben.
Bei Firebase wird sofort gesendet. Bei Timer-Modus erscheint die Nachricht beim nächsten App-Check.