release: seal Focus Seed 1.0.0
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user