- Change application ID to id.ptsemangat.siab_scale - Move Kotlin package to id/ptsemangat/siab_scale - Update iOS/macOS/Linux/Windows bundle identifiers - Configure release signing in both build.gradle files - Add proguard-rules.pro - Add key.properties.example template - Add privacy policy placeholders (en/id) - Add Gitea CI workflow for AAB builds - Add RELEASE_CHECKLIST.md - Update copyrights to PT. Semangat Inovasi Anak Bangsa
4.8 KiB
4.8 KiB
SIAB Scale - Release Checklist
Pre-Release Configuration
Application ID (Completed)
- Changed to
id.ptsemangat.siab_scalein Android build.gradle - Changed to
id.ptsemangat.siab_scalein Android build.gradle.kts - Moved Kotlin package to
id/ptsemangat/siab_scale/ - Updated iOS bundle identifier
- Updated macOS bundle identifier
- Updated Linux application ID
- Updated Windows metadata
- Updated web manifest
Release Signing (Pending - User Action Required)
- Generate keystore (run locally):
keytool -genkey -v \ -keystore siab-release.keystore \ -alias siab \ -keyalg RSA \ -keysize 2048 \ -validity 10000 \ -storepass YOUR_STORE_PASSWORD \ -keypass YOUR_KEY_PASSWORD \ -dname "CN=SIAB Scale, OU=Mobile, O=PT. Semangat Inovasi Anak Bangsa, L=Jakarta, S=DKI Jakarta, C=ID" - Create
android/key.properties(fromkey.properties.example):storePassword=YOUR_STORE_PASSWORD keyPassword=YOUR_KEY_PASSWORD keyAlias=siab storeFile=../siab-release.keystore - Verify
siab-release.keystoreis in.gitignore - Verify
android/key.propertiesis in.gitignore
Privacy Policy (Pending)
- Edit
privacy-policy/en.html- fill in:[DATE]with current date[YOUR_EMAIL]with contact email[YOUR_ADDRESS]with company address
- Edit
privacy-policy/id.html- fill in:[TANGGAL]with current date[EMAIL_ANDA]with contact email[ALAMAT_ANDA]with company address
- Host on Gitea Pages or update URL in Play Console
Play Console Assets (Pending)
Required Assets
- App Icon: 512x512 PNG (in progress - expected tomorrow)
- Feature Graphic: 1024x500 JPG/PNG
- Phone Screenshots: 2-8 images (16:9 or 9:16 ratio, 320-3840px)
- 7-inch Tablet Screenshots: 1-8 images (if supporting tablets)
Store Listing
- Short Description: Max 80 characters
- Full Description: Max 4000 characters
Content & Data Safety
- Complete Content Rating questionnaire
- Set Target Audience and Content
- Complete Data Safety form:
- Bluetooth: Yes (for device connectivity)
- Location: Yes (required for BLE scanning, but not collected)
- Files: Yes (CSV storage on device)
- Data shared with third parties: No
- Data encrypted in transit: N/A (no network)
- Data deletion: User can clear app data or uninstall
Build & Test
Local Build
- Run tests:
flutter test - Run analyzer:
flutter analyze - Build AAB:
flutter build appbundle \ --release \ --obfuscate \ --split-debug-info=build/debug-info \ --dart-define=SIAB_DEVICE_NAME=SIAB - Verify AAB size (should be < 150MB)
- Test on physical devices:
- Android API 21 (minimum)
- Android API 28
- Android API 33
- Android API 34
Test Cases
- Fresh install - BLE permission flow
- Scan for SIAB devices
- Register device with custom label
- Connect to device
- Real-time weight display
- Save stable measurement
- Export/share CSV
- Disconnect/reconnect
- Offline mode (no Bluetooth)
Gitea CI Setup
Secrets Configuration
- Add secrets in Repository → Settings → Secrets → Actions:
KEYSTORE_BASE64: Base64-encoded keystore filebase64 -w 0 siab-release.keystoreKEYSTORE_PASSWORD: Keystore store passwordKEY_PASSWORD: Keystore key password
Test CI Workflow
- Push a tag to trigger build:
git tag v1.0.0 git push origin v1.0.0 - Verify AAB artifact is uploaded
Play Console Submission
App Setup
- Create app in Play Console
- Set default language
- Set app name: "SIAB Scale"
Store Listing
- Upload screenshots
- Upload feature graphic
- Add short description
- Add full description
- Upload app icon (512x512)
Content
- Complete Content Rating questionnaire
- Set Target Audience
- Complete Data Safety form
Release
- Create Internal Testing track
- Upload AAB
- Add release notes
- Add testers (emails or Google Group)
- Submit for review
Post-Submission
- Monitor crash reports in Play Console
- Respond to user reviews
- Plan updates based on feedback
Git Commands Reference
# Generate keystore
keytool -genkey -v -keystore siab-release.keystore -alias siab -keyalg RSA -keysize 2048 -validity 10000
# Base64 encode keystore for CI
base64 -w 0 siab-release.keystore | pbcopy # macOS
base64 -w 0 siab-release.keystore | xclip # Linux
# Tag and push for CI build
git tag v1.0.0
git push origin v1.0.0
# Build locally
flutter build appbundle --release --obfuscate --split-debug-info=build/debug-info --dart-define=SIAB_DEVICE_NAME=SIAB