android version

This commit is contained in:
Torsten Schulz (notebook)
2026-05-12 10:21:24 +02:00
parent 32b48909c5
commit 84f57facba
55 changed files with 4580 additions and 8 deletions

161
android/PUBLISHING.md Normal file
View File

@@ -0,0 +1,161 @@
# 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