162 lines
4.0 KiB
Markdown
162 lines
4.0 KiB
Markdown
# 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
|