# DeskHub-App im Google Play Store veröffentlichen ## 1. Einmalig: Upload-Schlüssel erzeugen ```powershell cd mobile .\new-keystore.ps1 ``` Legt `%USERPROFILE%\deskhub-keys\deskhub-release.jks` an (Passwort wird abgefragt, nie angezeigt). **Datei und Passwort an mindestens zwei Orten sichern und nie weitergeben.** Beim Play-Upload nutzt ihr „Play App Signing“ (Standard): Google verwaltet den eigentlichen App-Schlüssel, euer Keystore ist nur der Upload-Schlüssel und ließe sich bei Verlust über den Play-Support zurücksetzen. ## 2. Jede Version bauen 1. In `build.gradle.kts` `versionCode` um 1 erhöhen (Play lehnt gleiche oder kleinere Nummern ab) und `versionName` anpassen. 2. `.\build-release.ps1` (fragt das Keystore-Passwort ab). Ergebnis in `artifacts\`: - `deskhub-release.aab` → **das lädt ihr in den Play Store hoch** - `deskhub-employee-release.apk` → zum direkten Installieren/Testen Voraussetzung: `google-services.json` (Firebase, Paketname `de.deskhub.staff`) liegt in `mobile\`, Internet für Gradle. ## 3. Play Console (einmalig) - Entwicklerkonto (einmalig 25 US-$, Identitätsprüfung). - App anlegen → Produktionsfreigabe bzw. zuerst **geschlossener Test** (für neue private Entwicklerkonten verlangt Google meist 12 Tester über 14 Tage, bevor die Produktion freigeschaltet wird; Anforderung in der Console prüfen). - Store-Eintrag: Name, Kurz- und Langbeschreibung, Symbol 512×512, Feature-Grafik 1024×500, mindestens 2 Screenshots. - **Datenschutzerklärung (URL, Pflicht):** nennt, dass der Server der jeweiligen Firma die Daten verarbeitet; bei Push: Geräte-Token und Ticketnummern laufen über den DeskHub-Push-Dienst und Google (Firebase Cloud Messaging). - **Data-Safety-Formular:** Geräte-ID/Token (Push), Kontoinformationen (Anmeldung am Firmenserver), Ticketinhalte (App-Funktion); Übertragung verschlüsselt. - Inhaltseinstufung, Zielgruppe (nicht für Kinder), Berechtigung `POST_NOTIFICATIONS` (Android 13+, wird zur Laufzeit erfragt). - **Zielversion prüfen:** Play verlangt für neue Apps ein aktuelles `targetSdk`. Die App steht auf 34. Die aktuelle Mindestvorgabe steht in der Play Console unter „Richtlinien → API-Level“; falls höher, `targetSdk`/`compileSdk` anheben und neu testen. ## 4. Vor dem Upload prüfen - Push-Dienst (Plugin-Webseite) mit `schluessel\firebase-dienstkonto.json` gebaut und erreichbar, `access_key` in `includes/catalog_defaults.php` gesetzt, Release neu gebaut. - Release-AAB auf einem echten Handy: anmelden, Benachrichtigungen erlauben, **Testnachricht** im Adminportal, neues Ticket anlegen, auf Popup tippen. - Die App fragt beim Start die Adresse des Servers ab; im Store-Eintrag erwähnen, dass ein eigener DeskHub-Server nötig ist (sonst Ablehnung wegen nicht nutzbarer App möglich; Play-Prüfer brauchen Demo-Zugangsdaten unter „App-Zugriff“).