# Android-Veröffentlichung Diese App wird für Google Play als `Android App Bundle` (`.aab`) veröffentlicht. ## Stand des Projekts - `applicationId`: `net.ypchat.app` - `minSdk`: `26` - `targetSdk`: `36` - Produktiv-Backend standardmäßig: `https://www.ypchat.net` - Release-Build verwendet standardmäßig `HTTPS only` Hinweis: Laut Android Developers müssen neue Apps bei Google Play seit dem 31. August 2025 mindestens auf API-Level 35 zielen. Dieses Projekt erfüllt das bereits mit `targetSdk = 36`. Quelle: - [Meet Google Play's target API level requirement](https://developer.android.com/distribute/best-practices/develop/target-sdk) - [Use Play App Signing](https://support.google.com/googleplay/android-developer/answer/9842756) - [Provide information for Google Play's Data safety section](https://support.google.com/googleplay/android-developer/answer/10787469) ## 1. Upload-Key erzeugen Im Ordner `android/` einen Upload-Key anlegen, zum Beispiel: ```powershell keytool -genkeypair ` -v ` -keystore release-upload-key.jks ` -alias upload ` -keyalg RSA ` -keysize 4096 ` -validity 10000 ``` Danach `android/key.properties` aus `android/key.properties.example` erzeugen: ```properties storeFile=release-upload-key.jks storePassword=DEIN_STORE_PASSWORT keyAlias=upload keyPassword=DEIN_KEY_PASSWORT ``` Wichtig: - `android/key.properties` - `android/*.jks` - `android/*.keystore` sind in `.gitignore` ausgenommen und sollen nicht committed werden. ## 2. Versionsnummer vor Release setzen Datei: - `android/app/build.gradle.kts` Vor jedem Store-Release anpassen: ```kotlin versionCode = 2 versionName = "0.2.0" ``` Regel: - `versionCode` muss bei jedem Play-Update höher sein als beim letzten Upload. - `versionName` ist die sichtbare Versionsnummer im Store. ## 3. Release-Bundle bauen Im Ordner `android/`: ```powershell .\gradlew bundleRelease ``` Das Ergebnis liegt hier: ```text android/app/build/outputs/bundle/release/app-release.aab ``` Falls zuerst ein Clean-Build gewünscht ist: ```powershell .\gradlew clean bundleRelease ``` ## 4. Google Play Console Für eine neue App in der Play Console: 1. App anlegen 2. Standardsprache wählen 3. App-Name festlegen 4. App-Kategorie auswählen 5. Kontakt-E-Mail hinterlegen Danach: 1. `Internal testing` oder `Closed testing` anlegen 2. `app-release.aab` hochladen 3. Play App Signing aktivieren Empfehlung: - Für die erste Veröffentlichung zuerst `Internal testing` - Danach `Closed testing` - Erst anschließend `Production` ## 5. Store-Inhalte vorbereiten Benötigt werden in der Regel: - App-Name - Kurzbeschreibung - Vollständige Beschreibung - App-Symbol - Screenshots vom Smartphone - Datenschutzerklärung-URL - Support-/Kontaktadresse Für diese App zusätzlich sinnvoll: - Hinweis auf Chat, Bildaustausch und internationale Nutzung - Hinweis auf Moderation/Blockieren/Feedback ## 6. Data Safety In der Play Console muss das Formular zur Datensicherheit ausgefüllt werden. Nach aktuellem Projektstand werden mindestens diese Daten serverseitig verarbeitet oder übertragen: - Nutzername - Alter - Geschlecht - Land - Chat-Nachrichten - Bilder - Feedback-Inhalte - Session-/Verbindungsdaten Das Formular muss anhand des tatsächlichen Serververhaltens final geprüft werden. Wenn Backend oder Logs zusätzliche Daten erfassen, muss das dort ebenfalls deklariert werden. ## 7. Vor dem ersten echten Release prüfen - Release-Build startet auf echtem Gerät - Login gegen Produktiv-Backend funktioniert - Socket-Verbindung stabil - Bilder senden/empfangen funktioniert - Länderauswahl/Geschlecht korrekt - App-Symbol korrekt - Texte/Internationalisierung korrekt - Impressum und Datenschutzerklärung vorhanden - Datenschutzerklärung-URL öffentlich erreichbar ## 8. Empfehlung für den nächsten Schritt Der sinnvollste nächste operative Schritt ist: 1. Upload-Key erzeugen 2. `android/key.properties` lokal anlegen 3. `versionCode` und `versionName` setzen 4. `bundleRelease` bauen 5. mit dem erzeugten `.aab` in `Internal testing` hochladen