110 lines
5.2 KiB
Markdown
110 lines
5.2 KiB
Markdown
# Release Checklist
|
|
|
|
## Dormant Account Rescue Priority
|
|
|
|
Google Play warning shown by account owner:
|
|
|
|
- Risk: developer account may be closed because it is dormant / unused.
|
|
- Fix deadline: 2026-06-14.
|
|
- Current date when recorded: 2026-06-09.
|
|
|
|
Google's official inactive-account guidance says the account owner should complete both actions before the deadline:
|
|
|
|
1. Verify Play developer account contact email and phone number.
|
|
2. Create and publish an app, publish an update, or safely upload through internal testing / closed testing if the app is not ready for public production.
|
|
|
|
For this project, the fastest low-risk route is:
|
|
|
|
1. Verify account email and phone in Play Console account details.
|
|
2. Create the Focus Seed app record.
|
|
3. Upload the signed AAB to internal testing first.
|
|
4. Complete required App content sections: privacy policy, Data safety, content rating, target audience, ads declaration, app access.
|
|
5. Add store listing text, screenshots, icon, and feature graphic.
|
|
6. Send changes for review as soon as Play Console allows submission.
|
|
7. If production access is not available, keep the internal/closed testing upload as the activity evidence and follow any Play Console testing requirement shown in the account.
|
|
|
|
Do not create a new developer account while this warning is active. Resolve this account directly.
|
|
|
|
## Required Closed Test For This Account
|
|
|
|
Play Console indicates production access is locked for this personal developer account.
|
|
|
|
- Internal testing is optional and fast, but does not unlock production access.
|
|
- Closed testing is required before applying for production.
|
|
- Minimum: 12 opted-in testers for at least 14 continuous days.
|
|
- Recommended: invite 20 people and aim for 15+ opted-in testers to keep a buffer.
|
|
- Use `closed-testing-plan.md` for tester recruitment messages, checklist, tracking table, and production access application notes.
|
|
|
|
## Region And Localization Gate
|
|
|
|
Use `region-localization-strategy.md` before selecting countries/regions in Play Console.
|
|
|
|
V1 recommendation:
|
|
|
|
- Do not select all countries by default.
|
|
- Use English-only listing and UI.
|
|
- For production or closed testing, start with English-first countries/regions: United States, Canada, Australia, New Zealand, Singapore, India, Philippines, and Malaysia.
|
|
- Defer EU/EEA, United Kingdom, Switzerland, South Korea, Japan, Brazil/LATAM, and MENA until the matching privacy wording, localization, cultural QA, and monetization checks are complete.
|
|
- If only internal testing is used for urgent account rescue, upload first; internal testing is not constrained the same way as production/open/closed country targeting.
|
|
|
|
## Build Evidence
|
|
|
|
- App Bundle: `build/app/outputs/bundle/release/app-release.aab`
|
|
- Size: about 21.1 MB
|
|
- Version: `1.0.0+1`
|
|
- Package ID: `com.dailyanchor.focusseed`
|
|
- minSdk: 26
|
|
- targetSdk: 35
|
|
- Release signing: local upload key configured
|
|
- 512x512 Play listing icon: `launch/screenshots/focus-seed-icon-512-play.png`
|
|
|
|
## Verification Completed
|
|
|
|
- `flutter analyze`: passed
|
|
- `flutter test`: passed
|
|
- `flutter build appbundle --release`: passed
|
|
- Modular architecture refactor: passed analyze/test/build after splitting `main.dart` into app, models, data, services, features, and widgets.
|
|
- Web visual smoke test: passed for Today and Timer screens.
|
|
- Android release smoke test: passed on MT2110 / Android 14 after fixing native `MainActivity` package path to match `com.dailyanchor.focusseed`.
|
|
- Real device screenshots captured: `device-01-today.png`, `device-02-timer.png`, `device-03-habits.png`, `device-04-reflect.png`, `device-05-settings-clean.png`.
|
|
- V1 settings screen hides unfinished ads/subscription placeholders; monetization remains code-level no-op infrastructure only.
|
|
- Manifest reviewed: no INTERNET, AD_ID, location, camera, contacts, SMS, or storage permissions.
|
|
- V1 contains no real ad, billing, analytics, or remote config SDK.
|
|
|
|
## Manifest Notes
|
|
|
|
Merged manifest includes:
|
|
|
|
- `android:minSdkVersion="26"`
|
|
- `android:targetSdkVersion="35"`
|
|
- Flutter text processing query
|
|
- AndroidX signature-level dynamic receiver permission
|
|
|
|
No dangerous user-data permissions are declared.
|
|
|
|
## Before Upload
|
|
|
|
1. Publish the privacy policy at a public URL.
|
|
2. Confirm support email `leavysong@gmail.com` is correct and accessible.
|
|
3. Add the privacy policy URL in Play Console.
|
|
4. Confirm account eligibility:
|
|
- If production access exists, upload to internal testing first, then production.
|
|
- If this is a new personal developer account created after 2023-11-13, create a closed test with at least 12 testers for 14 days before production access.
|
|
5. Prepare real screenshots from the app.
|
|
6. Replace launcher icon if desired.
|
|
7. Choose countries/regions using `region-localization-strategy.md`.
|
|
8. Keep `android/focus-seed-upload.jks` and `android/key.properties` safe. You need the same upload key for future updates.
|
|
|
|
## Upload Steps
|
|
|
|
1. Create app in Play Console.
|
|
2. Fill app details and App content sections.
|
|
3. Upload `app-release.aab`.
|
|
4. Complete Data safety using `data-safety-guide.md`.
|
|
5. Complete content rating questionnaire.
|
|
6. Add privacy policy URL.
|
|
7. Add store listing text from `store-listing.md`.
|
|
8. Select countries/regions according to the V1 region strategy.
|
|
9. Add screenshots and feature graphic.
|
|
10. Submit to internal testing first when possible.
|