android version
This commit is contained in:
161
android/PUBLISHING.md
Normal file
161
android/PUBLISHING.md
Normal 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
|
||||
Reference in New Issue
Block a user