Files
jamshalat-diary/docs/google-play-release-checklist.md
2026-03-22 19:37:49 +07:00

128 lines
4.3 KiB
Markdown

# Checklist Rilis Google Play
Dokumen ini menjelaskan langkah teknis dari repo ini sampai file `AAB` siap diupload ke Google Play Console.
## Status proyek saat ini
- [x] Nama aplikasi sudah diganti menjadi `JamShalat`
- [x] `applicationId` Android sudah diset ke `com.jamshalat.app`
- [x] File keystore rilis sudah ada di `android/app/upload-keystore.p12`
- [x] Konfigurasi signing release sudah disiapkan di `android/app/build.gradle.kts`
- [x] Versi aplikasi sudah ada di `pubspec.yaml`
- [x] Ikon dan branding aplikasi sudah ada
- [ ] File `android/key.properties` belum ada di repo
- [ ] URL privacy policy belum disiapkan
- [ ] Screenshot Play Store belum disiapkan
- [ ] Store listing dan form Play Console belum diisi
## Catatan penting soal signing
- Teks `Releases signed by Google Play` di Play Console berarti app signing dikelola Google Play.
- Itu berbeda dari upload key yang dipakai saat kamu membangun file `AAB` dari mesin lokal.
- `applicationId` ada di [android/app/build.gradle.kts](/Users/dwindown/Applications/jamshalat-diary/android/app/build.gradle.kts) dan saat ini bernilai `com.jamshalat.app`.
- File `android/key.properties` adalah file lokal di mesin rilis, bukan file yang di-upload ke Play Console.
- Pada repo ini, file keystore ada di `android/app/upload-keystore.p12`, dan isi `storeFile` di `key.properties` harus mengarah ke file itu dari folder `android/`.
## Yang perlu dipersiapkan
1. Siapkan kredensial signing release
- Buat file `android/key.properties`
- Isi dengan lokasi file keystore, alias, dan password
- Contoh isi:
```properties
storeFile=../app/upload-keystore.p12
storePassword=PASSWORD_STORE_ANDA
keyAlias=upload
keyPassword=PASSWORD_KEY_ANDA
```
Catatan:
- alias pada keystore yang ada di repo ini adalah `upload`
- password `storePassword` dan `keyPassword` adalah password yang kamu tentukan saat membuat keystore
2. Naikkan versi aplikasi setiap kali rilis
- Edit `pubspec.yaml`
- Ubah `version` menjadi format `major.minor.patch+versionCode`
- Contoh:
```yaml
version: 1.0.1+2
```
3. Jalankan build release
- Dari root project, jalankan:
```bash
flutter pub get
flutter build appbundle --release
```
4. Ambil file hasil build
- File yang diupload ke Play Console adalah:
```text
build/app/outputs/bundle/release/app-release.aab
```
5. Upload ke Play Console
- Buka Google Play Console
- Masuk ke app `JamShalat`
- Upload `app-release.aab` ke track yang sesuai
- Saran alur:
- Internal testing untuk cek awal
- Closed testing jika diperlukan oleh akun baru
- Production setelah siap rilis
## Alur step by step
1. Pastikan file signing sudah lengkap
- `android/app/upload-keystore.p12` ada
- `android/key.properties` sudah dibuat
- password dan alias benar
2. Pastikan versi sudah dinaikkan
- Jangan upload `versionCode` yang sama dua kali
- Play Store menolak upload dengan `versionCode` yang sama atau lebih kecil
3. Build bundle release
- Jalankan `flutter build appbundle --release`
- Tunggu sampai selesai
4. Verifikasi file output
- Cari `build/app/outputs/bundle/release/app-release.aab`
- Inilah file utama untuk upload
5. Siapkan akun Play Console
- Login ke akun developer yang sudah diverifikasi
- Pastikan payment/profile/account sudah lengkap
6. Isi store listing
- Nama aplikasi
- Deskripsi singkat
- Deskripsi lengkap
- Ikon
- Screenshot
- Feature graphic
- Privacy policy
7. Isi form compliance
- Data safety
- Content rating
- Target audience
- App access jika ada login
8. Upload ke testing track dulu
- Disarankan jangan langsung produksi
- Tes install, buka app, login jika ada, dan semua fitur utama
9. Promosikan ke production
- Setelah semua aman, promote release ke production
## Catatan penting
- Karena `applicationId` saat ini sudah berubah menjadi `com.jamshalat.app`, upload ini akan dianggap sebagai app baru di Play Store jika sebelumnya ada app lain dengan package berbeda.
- Jangan gunakan APK untuk upload ke Play Store utama. Gunakan AAB.
- Kalau file `android/key.properties` belum ada, build lokal mungkin tetap jalan dengan debug signing, tetapi itu tidak boleh dipakai untuk upload ke Play Store.
- Untuk akun developer personal baru, biasanya perlu closed testing lebih dulu sebelum production. Cek aturan akun di Play Console jika diminta.