- flutter test: 4 tests passed - flutter analyze: no issues - flutter build appbundle: 44.5MB AAB created - Updated RELEASE_CHECKLIST.md - Added app-store-assets structure - Added initial screenshots
This commit is contained in:
1 parent
9756539494
commit
1d59a93713
6 files changed
+152
-83
No files matched your search
+22
-53
@@ -2,7 +2,7 @@
|
||||
|
||||
## Pre-Release Configuration
|
||||
|
||||
### Application ID (Completed)
|
||||
### Application ID ✅
|
||||
- [x] Changed to `id.ptsemangat.siab_scale` in Android build.gradle
|
||||
- [x] Changed to `id.ptsemangat.siab_scale` in Android build.gradle.kts
|
||||
- [x] Moved Kotlin package to `id/ptsemangat/siab_scale/`
|
||||
@@ -12,48 +12,25 @@
|
||||
- [x] Updated Windows metadata
|
||||
- [x] Updated web manifest
|
||||
|
||||
### Release Signing (Pending - User Action Required)
|
||||
- [ ] **Generate keystore** (run locally):
|
||||
```bash
|
||||
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`** (from `key.properties.example`):
|
||||
```properties
|
||||
storePassword=YOUR_STORE_PASSWORD
|
||||
keyPassword=YOUR_KEY_PASSWORD
|
||||
keyAlias=siab
|
||||
storeFile=../siab-release.keystore
|
||||
```
|
||||
- [ ] Verify `siab-release.keystore` is in `.gitignore`
|
||||
- [ ] Verify `android/key.properties` is in `.gitignore`
|
||||
### Release Signing ✅
|
||||
- [x] Generate keystore
|
||||
- [x] Create `android/key.properties`
|
||||
- [x] Verify `siab-release.keystore` is in `.gitignore`
|
||||
- [x] Verify `android/key.properties` is 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
|
||||
### Privacy Policy ✅
|
||||
- [x] Edit `privacy-policy/en.html` - filled
|
||||
- [x] Edit `privacy-policy/id.html` - filled
|
||||
- [ ] Host on Gitea Pages or update URL in Play Console
|
||||
|
||||
---
|
||||
|
||||
## Play Console Assets (Pending)
|
||||
## Play Console Assets
|
||||
|
||||
### 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)
|
||||
- [ ] **App Icon**: 512x512 PNG → Store in `app-store-assets/icons/`
|
||||
- [ ] **Feature Graphic**: 1024x500 JPG/PNG → Store in `app-store-assets/feature-graphic/`
|
||||
- [ ] **Phone Screenshots**: 2-8 images (16:9 or 9:16 ratio, 320-3840px) → Store in `app-store-assets/screenshots/`
|
||||
- [ ] **7-inch Tablet Screenshots**: 1-8 images (if supporting tablets)
|
||||
|
||||
### Store Listing
|
||||
@@ -76,17 +53,9 @@
|
||||
## Build & Test
|
||||
|
||||
### Local Build
|
||||
- [ ] Run tests: `flutter test`
|
||||
- [ ] Run analyzer: `flutter analyze`
|
||||
- [ ] Build AAB:
|
||||
```bash
|
||||
flutter build appbundle \
|
||||
--release \
|
||||
--obfuscate \
|
||||
--split-debug-info=build/debug-info \
|
||||
--dart-define=SIAB_DEVICE_NAME=SIAB
|
||||
```
|
||||
- [ ] Verify AAB size (should be < 150MB)
|
||||
- [x] Run tests: `flutter test` (4 passed)
|
||||
- [x] Run analyzer: `flutter analyze` (no issues)
|
||||
- [x] Build AAB (44.5MB) - located at `build\app\outputs\bundle\release\app-release.aab`
|
||||
- [ ] Test on physical devices:
|
||||
- [ ] Android API 21 (minimum)
|
||||
- [ ] Android API 28
|
||||
@@ -106,14 +75,14 @@
|
||||
|
||||
---
|
||||
|
||||
## Gitea CI Setup
|
||||
## Gitea CI Setup ✅
|
||||
|
||||
### Secrets Configuration
|
||||
- [ ] Add secrets in Repository → Settings → Secrets → Actions:
|
||||
### Workflow
|
||||
- [x] Create `.gitea/workflows/release.yml`
|
||||
|
||||
### Secrets Configuration (Self-Hosted Storage)
|
||||
- [x] Secrets stored in self-hosted storage (not Gitea):
|
||||
- `KEYSTORE_BASE64`: Base64-encoded keystore file
|
||||
```bash
|
||||
base64 -w 0 siab-release.keystore
|
||||
```
|
||||
- `KEYSTORE_PASSWORD`: Keystore store password
|
||||
- `KEY_PASSWORD`: Keystore key password
|
||||
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
# App Store Assets
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
app-store-assets/
|
||||
├── icons/
|
||||
│ ├── 512x512.png ← Play Store (required)
|
||||
│ ├── 1024x1024.png ← iOS App Store (required)
|
||||
│ └── adaptive/ ← Android adaptive icons
|
||||
│ ├── foreground.png ← 432x432px
|
||||
│ └── background.png ← 432x432px
|
||||
├── feature-graphic/
|
||||
│ └── feature.png ← 1024x500px (Play Store)
|
||||
└── screenshots/
|
||||
├── phone-1.png ← 1080x1920 or 1080x2400
|
||||
├── phone-2.png
|
||||
├── phone-3.png
|
||||
├── phone-4.png
|
||||
├── phone-5.png
|
||||
└── tablet-1.png ← 1200x1920 (if supporting tablets)
|
||||
```
|
||||
|
||||
## Specs
|
||||
|
||||
| Asset | Size | Format | Required |
|
||||
|-------|------|--------|----------|
|
||||
| App Icon (Play Store) | 512x512 | PNG, 32-bit | Yes |
|
||||
| App Icon (iOS) | 1024x1024 | PNG, no alpha | Yes |
|
||||
| Feature Graphic | 1024x500 | JPG/PNG | Yes |
|
||||
| Phone Screenshots | 320-3840px | PNG/JPG | 2-8 images |
|
||||
| Tablet Screenshots | 320-3840px | PNG/JPG | 1-8 images |
|
||||
|
||||
## Notes
|
||||
|
||||
- Place your 512x512 app icon in `icons/512x512.png`
|
||||
- Run `flutter pub run flutter_launcher_icons` to auto-generate all sizes
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 112 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 445 KiB |
+45
-15
@@ -1,29 +1,55 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>SIAB Scale - Privacy Policy</title>
|
||||
<style>
|
||||
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; max-width: 800px; margin: 40px auto; padding: 0 20px; line-height: 1.6; color: #333; }
|
||||
h1 { color: #2563EB; }
|
||||
h2 { color: #1E40AF; margin-top: 2em; }
|
||||
.date { color: #666; font-style: italic; }
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||||
max-width: 800px;
|
||||
margin: 40px auto;
|
||||
padding: 0 20px;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #2563EB;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #1E40AF;
|
||||
margin-top: 2em;
|
||||
}
|
||||
|
||||
.date {
|
||||
color: #666;
|
||||
font-style: italic;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Privacy Policy</h1>
|
||||
<p class="date">Last updated: [DATE]</p>
|
||||
<p class="date">Last updated: 14 September 2026</p>
|
||||
|
||||
<h2>1. Introduction</h2>
|
||||
<p>PT. Semangat Inovasi Anak Bangsa ("we", "our", or "us") operates the SIAB Scale mobile application (the "App"). This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our App.</p>
|
||||
<p>PT. Semangat Inovasi Anak Bangsa ("we", "our", or "us") operates the SIAB Scale mobile application (the "App").
|
||||
This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our App.
|
||||
</p>
|
||||
|
||||
<h2>2. Information We Collect</h2>
|
||||
<p>The App collects the following information:</p>
|
||||
<ul>
|
||||
<li><strong>Bluetooth Device Information:</strong> The App scans for and connects to SIAB weighing scale devices via Bluetooth Low Energy (BLE). Device names and MAC addresses are stored locally on your device.</li>
|
||||
<li><strong>Location Information:</strong> Android requires location permission for BLE scanning. Location data is <strong>NOT</strong> collected, stored, or transmitted. The permission is only used to enable Bluetooth device discovery.</li>
|
||||
<li><strong>Weighing Data:</strong> Weight measurements are stored locally on your device in CSV files. This data remains on your device and is not transmitted to any server.</li>
|
||||
<li><strong>Bluetooth Device Information:</strong> The App scans for and connects to SIAB weighing scale devices
|
||||
via Bluetooth Low Energy (BLE). Device names and MAC addresses are stored locally on your device.</li>
|
||||
<li><strong>Location Information:</strong> Android requires location permission for BLE scanning. Location data
|
||||
is <strong>NOT</strong> collected, stored, or transmitted. The permission is only used to enable Bluetooth
|
||||
device discovery.</li>
|
||||
<li><strong>Weighing Data:</strong> Weight measurements are stored locally on your device in CSV files. This
|
||||
data remains on your device and is not transmitted to any server.</li>
|
||||
</ul>
|
||||
|
||||
<h2>3. How We Use Your Information</h2>
|
||||
@@ -36,23 +62,27 @@
|
||||
</ul>
|
||||
|
||||
<h2>4. Data Storage and Security</h2>
|
||||
<p>All data collected by the App is stored locally on your device. We do not transmit, collect, or store any data on external servers. You can delete all data by clearing the App's data or uninstalling the App.</p>
|
||||
<p>All data collected by the App is stored locally on your device. We do not transmit, collect, or store any data on
|
||||
external servers. You can delete all data by clearing the App's data or uninstalling the App.</p>
|
||||
|
||||
<h2>5. Third-Party Services</h2>
|
||||
<p>The App does not use any third-party analytics, advertising, or tracking services.</p>
|
||||
|
||||
<h2>6. Children's Privacy</h2>
|
||||
<p>The App is not directed to children under the age of 13. We do not knowingly collect personal information from children under 13.</p>
|
||||
<p>The App is not directed to children under the age of 13. We do not knowingly collect personal information from
|
||||
children under 13.</p>
|
||||
|
||||
<h2>7. Changes to This Privacy Policy</h2>
|
||||
<p>We may update this Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page and updating the "Last updated" date.</p>
|
||||
<p>We may update this Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy
|
||||
Policy on this page and updating the "Last updated" date.</p>
|
||||
|
||||
<h2>8. Contact Us</h2>
|
||||
<p>If you have any questions about this Privacy Policy, please contact us at:</p>
|
||||
<p>
|
||||
PT. Semangat Inovasi Anak Bangsa<br>
|
||||
Email: [YOUR_EMAIL]<br>
|
||||
Address: [YOUR_ADDRESS]
|
||||
Email: andrew@databisnis.id<br>
|
||||
Address: South Jakarta
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
</html>
|
||||
+48
-15
@@ -1,29 +1,56 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="id">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>SIAB Scale - Kebijakan Privasi</title>
|
||||
<style>
|
||||
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; max-width: 800px; margin: 40px auto; padding: 0 20px; line-height: 1.6; color: #333; }
|
||||
h1 { color: #2563EB; }
|
||||
h2 { color: #1E40AF; margin-top: 2em; }
|
||||
.date { color: #666; font-style: italic; }
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||||
max-width: 800px;
|
||||
margin: 40px auto;
|
||||
padding: 0 20px;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #2563EB;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #1E40AF;
|
||||
margin-top: 2em;
|
||||
}
|
||||
|
||||
.date {
|
||||
color: #666;
|
||||
font-style: italic;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>Kebijakan Privasi</h1>
|
||||
<p class="date">Terakhir diperbarui: [TANGGAL]</p>
|
||||
<p class="date">Terakhir diperbarui: 14 September 2026</p>
|
||||
|
||||
<h2>1. Pendahuluan</h2>
|
||||
<p>PT. Semangat Inovasi Anak Bangsa ("kami") mengoperasikan aplikasi mobile SIAB Scale ("Aplikasi"). Kebijakan Privasi ini menjelaskan bagaimana kami mengumpulkan, menggunakan, mengungkapkan, dan melindungi informasi Anda saat menggunakan Aplikasi kami.</p>
|
||||
<p>PT. Semangat Inovasi Anak Bangsa ("kami") mengoperasikan aplikasi mobile SIAB Scale ("Aplikasi"). Kebijakan
|
||||
Privasi ini menjelaskan bagaimana kami mengumpulkan, menggunakan, mengungkapkan, dan melindungi informasi Anda
|
||||
saat menggunakan Aplikasi kami.</p>
|
||||
|
||||
<h2>2. Informasi Yang Kami Kumpulkan</h2>
|
||||
<p>Aplikasi mengumpulkan informasi berikut:</p>
|
||||
<ul>
|
||||
<li><strong>Informasi Perangkat Bluetooth:</strong> Aplikasi memindai dan menghubungkan ke perangkat timbangan SIAB melalui Bluetooth Low Energy (BLE). Nama perangkat dan alamat MAC disimpan secara lokal di perangkat Anda.</li>
|
||||
<li><strong>Informasi Lokasi:</strong> Android memerlukan izin lokasi untuk pemindaian BLE. Data lokasi <strong>TIDAK</strong> dikumpulkan, disimpan, atau dikirim. Izin hanya digunakan untuk mengaktifkan penemuan perangkat Bluetooth.</li>
|
||||
<li><strong>Data Penimbangan:</strong> Data penimbangan disimpan secara lokal di perangkat Anda dalam file CSV. Data ini tetap di perangkat Anda dan tidak dikirim ke server mana pun.</li>
|
||||
<li><strong>Informasi Perangkat Bluetooth:</strong> Aplikasi memindai dan menghubungkan ke perangkat timbangan
|
||||
SIAB melalui Bluetooth Low Energy (BLE). Nama perangkat dan alamat MAC disimpan secara lokal di perangkat
|
||||
Anda.</li>
|
||||
<li><strong>Informasi Lokasi:</strong> Android memerlukan izin lokasi untuk pemindaian BLE. Data lokasi
|
||||
<strong>TIDAK</strong> dikumpulkan, disimpan, atau dikirim. Izin hanya digunakan untuk mengaktifkan penemuan
|
||||
perangkat Bluetooth.</li>
|
||||
<li><strong>Data Penimbangan:</strong> Data penimbangan disimpan secara lokal di perangkat Anda dalam file CSV.
|
||||
Data ini tetap di perangkat Anda dan tidak dikirim ke server mana pun.</li>
|
||||
</ul>
|
||||
|
||||
<h2>3. Bagaimana Kami Menggunakan Informasi Anda</h2>
|
||||
@@ -36,23 +63,29 @@
|
||||
</ul>
|
||||
|
||||
<h2>4. Penyimpanan dan Keamanan Data</h2>
|
||||
<p>Semua data yang dikumpulkan oleh Aplikasi disimpan secara lokal di perangkat Anda. Kami tidak mengirim, mengumpulkan, atau menyimpan data di server eksternal. Anda dapat menghapus semua data dengan menghapus data Aplikasi atau menghapus instalasi Aplikasi.</p>
|
||||
<p>Semua data yang dikumpulkan oleh Aplikasi disimpan secara lokal di perangkat Anda. Kami tidak mengirim,
|
||||
mengumpulkan, atau menyimpan data di server eksternal. Anda dapat menghapus semua data dengan menghapus data
|
||||
Aplikasi atau menghapus instalasi Aplikasi.</p>
|
||||
|
||||
<h2>5. Layanan Pihak Ketiga</h2>
|
||||
<p>Aplikasi tidak menggunakan layanan analitik, periklanan, atau pelacakan pihak ketiga mana pun.</p>
|
||||
|
||||
<h2>6. Privasi Anak</h2>
|
||||
<p>Aplikasi tidak ditujukan untuk anak-anak di bawah usia 13 tahun. Kami tidak sengaja mengumpulkan informasi pribadi dari anak-anak di bawah usia 13 tahun.</p>
|
||||
<p>Aplikasi tidak ditujukan untuk anak-anak di bawah usia 13 tahun. Kami tidak sengaja mengumpulkan informasi
|
||||
pribadi dari anak-anak di bawah usia 13 tahun.</p>
|
||||
|
||||
<h2>7. Perubahan Pada Kebijakan Privasi Ini</h2>
|
||||
<p>Kami dapat memperbarui Kebijakan Privasi ini dari waktu ke waktu. Kami akan memberi tahu Anda tentang perubahan apa pun dengan memposting Kebijakan Privasi baru di halaman ini dan memperbarui tanggal "Terakhir diperbarui".</p>
|
||||
<p>Kami dapat memperbarui Kebijakan Privasi ini dari waktu ke waktu. Kami akan memberi tahu Anda tentang perubahan
|
||||
apa pun dengan memposting Kebijakan Privasi baru di halaman ini dan memperbarui tanggal "Terakhir diperbarui".
|
||||
</p>
|
||||
|
||||
<h2>8. Hubungi Kami</h2>
|
||||
<p>Jika Anda memiliki pertanyaan tentang Kebijakan Privasi ini, silakan hubungi kami di:</p>
|
||||
<p>
|
||||
PT. Semangat Inovasi Anak Bangsa<br>
|
||||
Email: [EMAIL_ANDA]<br>
|
||||
Alamat: [ALAMAT_ANDA]
|
||||
Email: andrew@databisnis.id<br>
|
||||
Alamat: Jakarta Selatan
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
</html>
|
||||
Reference in new issue
Block a user