Skip to content

Commit 032fbae

Browse files
authored
Merge branch 'main' into codexd/462-reusable-release-checklist
2 parents 27c21a2 + 0feff67 commit 032fbae

6 files changed

Lines changed: 192 additions & 1 deletion
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# Google Play Release Screenshots
2+
3+
Use this checklist to capture the Play Store screenshots for issue #449. The
4+
final screenshots must come from a release-like app build on a real device or
5+
release-equivalent emulator; do not use mock-only screens, Widgetbook states, or
6+
debug-only data.
7+
8+
Last checked against Google Play Console Help on 2026-05-10:
9+
10+
- [Add preview assets to showcase your app](https://support.google.com/googleplay/android-developer/answer/9866151?hl=en-EN)
11+
- [Store listing practices](https://support.google.com/googleplay/android-developer/answer/13393723?hl=en)
12+
13+
## Capture Setup
14+
15+
- Build and install the release candidate that will be submitted, or an
16+
equivalent signed build from the same commit and environment.
17+
- Use the shipped localization that the screenshot will represent. If the
18+
listing has Korean and English localized screenshots, capture each language
19+
separately.
20+
- Use realistic but non-sensitive sample data. Do not show personal names,
21+
private addresses, phone numbers, access tokens, backend IDs, or real user
22+
accounts.
23+
- Clear unrelated system notifications before capture. Keep the device status
24+
bar clean and plausible.
25+
- Keep the app name, icon, and visible copy consistent with `OnTime` and
26+
`docs/Google-Play-Listing-Copy.md`.
27+
28+
## Play Asset Constraints
29+
30+
Confirm current Play Console requirements again at upload time. As of the last
31+
check above, screenshots must satisfy:
32+
33+
- At least 2 screenshots across device types are required to publish the store
34+
listing.
35+
- Up to 8 screenshots can be uploaded for each supported device type.
36+
- Accepted formats are JPEG or 24-bit PNG with no alpha channel.
37+
- Each screenshot must have a minimum dimension of 320 px and a maximum
38+
dimension of 3840 px.
39+
- The longest side cannot be more than twice the shortest side.
40+
- For app recommendation eligibility, provide at least 4 app screenshots at
41+
minimum 1080 px resolution. Portrait screenshots should be 9:16, with
42+
1080 x 1920 px or higher.
43+
44+
## Required Capture Set
45+
46+
Capture at least these five app states. If the Play Console or product/design
47+
owner wants fewer uploads, keep these as the source set and select the best
48+
ordered subset after review.
49+
50+
| Order | App state | Route or flow | Capture requirements |
51+
| --- | --- | --- | --- |
52+
| 1 | Onboarding or permission request | `/onboarding/start`, `/onboarding`, or `/allowNotification` | Show the actual first-run setup or notification permission explanation. The text must match shipped localization. |
53+
| 2 | Schedule creation | `/scheduleCreate` | Show a realistic appointment being created with date, time, place, travel time, spare time, and preparation steps where possible. |
54+
| 3 | Alarm and preparation flow | `/scheduleStart` and `/alarmScreen` | Show the early-start prompt or active preparation checklist/timer for a real schedule. Do not fake alarm state with debug-only overlays. |
55+
| 4 | Calendar or Home | `/home` or `/calendar` | Show upcoming schedules on Home or the monthly calendar with realistic non-sensitive schedule names. |
56+
| 5 | My Page and account controls | `/myPage` | Show account/settings controls, including notification or default preparation settings if available. Avoid exposing a real email address. |
57+
58+
Optional additional screenshots:
59+
60+
- Preparation completion or early/late result at `/earlyLate`.
61+
- Default preparation and spare time settings at
62+
`/defaultPreparationSpareTimeEdit`.
63+
- Schedule edit flow at `/scheduleEdit/:scheduleId`.
64+
65+
## Quality Review
66+
67+
- Confirm every screenshot reflects the release candidate behavior.
68+
- Confirm text, dates, and labels match the shipped localization.
69+
- Confirm screenshots do not imply unsupported sharing, collaboration,
70+
location-tracking, map navigation, or other features not present in the app.
71+
- Confirm screenshots do not contain debugging UI, emulator overlays, test
72+
banners, unfinished placeholders, or mock-only copy.
73+
- Confirm image dimensions and file formats are accepted by Play Console before
74+
marking issue #449 complete.
75+
- Record the build commit, build variant, device model, OS version, locale,
76+
screenshot filenames, and reviewer in the evidence log below.
77+
78+
## Evidence Log
79+
80+
Complete this table when screenshots are captured.
81+
82+
| Field | Value |
83+
| --- | --- |
84+
| Build commit | |
85+
| Build variant | |
86+
| Device or emulator | |
87+
| Android version | |
88+
| Locale(s) | |
89+
| Screenshot filenames | |
90+
| Dimension check result | |
91+
| Product/design reviewer | |
92+
| Play Console upload result | |
93+
| Notes or follow-up issues | |

docs/Home.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Welcome to the OnTime-front project documentation! This wiki contains everything
1414
- [iOS Release Configuration](./iOS-Release-Configuration.md) - Required Dart defines and archive validation
1515
- [Release Rollout Monitoring](./Release-Rollout-Monitoring.md) - Release ownership, staged rollout gates, and post-launch monitoring
1616
- [Play Review Rejection Playbook](./Play-Review-Rejection-Playbook.md) - How to triage, fix, resubmit, or appeal Google Play review rejections
17+
- [Google Play Release Screenshots](./Google-Play-Release-Screenshots.md) - Capture checklist and evidence log for real release screenshots
1718

1819
### Technical Deep Dives
1920
- [Error Handling System](./Error-Handling-Result-System.md) - Result-based error handling architecture

docs/Release-Checklist.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ flutter build appbundle --release
5656
- Keep `pubspec.yaml` as the source of truth for the app version.
5757
- Use semantic versioning for the public version name, formatted as
5858
`major.minor.patch`.
59-
- The first production release is `1.0.0+1`.
59+
- The first production release is `1.0.0+1`: public `versionName` `1.0.0`
60+
with checked-in Flutter build suffix `+1`.
6061
- Keep the public version name manual in `pubspec.yaml`.
6162
- For Android Play deploys, CI derives `versionName` from `pubspec.yaml` and
6263
uses `github.run_number` as the generated `versionCode`; do not open PRs only

handoff/449-release-screenshots.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Handoff: Issue #449 Release Screenshots
2+
3+
Issue #449 is advanced but not solved. The remaining work requires a
4+
release-like build, device or emulator screenshot environment, and Play Console
5+
or product/design validation.
6+
7+
## Status
8+
9+
- Added `docs/Google-Play-Release-Screenshots.md` with capture setup, current
10+
Play screenshot constraints, required screen coverage, quality review checks,
11+
and an evidence log.
12+
- Linked the guide from `docs/Release-Checklist.md` and `docs/Home.md`.
13+
- Added `plans/449-release-screenshots-plan.md` for traceability.
14+
15+
## Blockers
16+
17+
- Final screenshots cannot be captured or accepted from this repo-only thread.
18+
- Current issue acceptance requires release-like build/device access and Play
19+
Console dimension validation.
20+
21+
## Next Steps
22+
23+
1. Build and install the release candidate or equivalent signed build.
24+
2. Capture screenshots for onboarding/permission, schedule creation,
25+
alarm/preparation, calendar/home, and My Page/account controls.
26+
3. Verify file format and dimensions in Play Console.
27+
4. Complete the evidence log in `docs/Google-Play-Release-Screenshots.md`.
28+
5. Close #449 only after product/design and Play Console validation.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Issue #449 Release Screenshot Plan
2+
3+
Issue: [#449](https://github.com/DevKor-github/OnTime-front/issues/449)
4+
Parent track: [#466](https://github.com/DevKor-github/OnTime-front/issues/466)
5+
6+
## Decision
7+
8+
Issue #449 is externally blocked for completion because final screenshots must
9+
be captured from a release-like build on a device or release-equivalent
10+
environment. The repo-side action that advances the issue is to provide a
11+
capture checklist, Play asset constraints, required screen matrix, and evidence
12+
log for the human/device capture pass.
13+
14+
## Ordered Work
15+
16+
1. Confirm parent-track state:
17+
#446, #447, and #460 are closed; #448 and #449 remain open manual items.
18+
2. Confirm #449 scope:
19+
capture real release screenshots covering onboarding/permission, schedule
20+
creation, alarm/preparation, calendar/home, and My Page/account controls.
21+
3. Add a repository guide:
22+
`docs/Google-Play-Release-Screenshots.md` documents setup, current Play
23+
constraints, capture matrix, quality review, and evidence log.
24+
4. Link the guide from release docs:
25+
update `docs/Release-Checklist.md` and `docs/Home.md`.
26+
5. Do not generate or fake screenshots:
27+
completion requires human/device access and Play Console validation.
28+
6. Verify documentation only:
29+
run a markdown/reference smoke check and inspect git diff.
30+
31+
## Human Completion Criteria
32+
33+
- Capture screenshots from the release candidate or equivalent signed build.
34+
- Validate every uploaded file in Play Console for format and dimensions.
35+
- Have product/design approve the selected screenshot set.
36+
- Update the evidence log with build, device, locale, filenames, reviewer, and
37+
upload result.
38+
- Close #449 only after the actual screenshots are accepted for the listing.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Issue 453: Lock Initial Production Versioning
2+
3+
## Scope
4+
5+
- Confirm the first production public version name and build suffix.
6+
- Keep `pubspec.yaml` as the source of truth for the checked-in Flutter app version.
7+
- Document how Android Play derives the production `versionCode` for CI uploads.
8+
- Document the future bump rule for public releases.
9+
10+
## Files
11+
12+
- `pubspec.yaml`: already set to `version: 1.0.0+1`; no change needed.
13+
- `docs/Release-Checklist.md`: clarify the initial versioning decision and future bump rule.
14+
15+
## Implementation Approach
16+
17+
- Treat `1.0.0` as the initial production `versionName`.
18+
- Treat the checked-in Flutter build suffix `+1` as the initial local/manual build number.
19+
- Keep Android Play CI uploads on `github.run_number` for the generated Android `versionCode`.
20+
- Avoid changing release signing, Firebase configuration, Play Console setup, or build workflows.
21+
22+
## Verification
23+
24+
- Confirm `pubspec.yaml` still declares `version: 1.0.0+1`.
25+
- Confirm the release checklist documents the initial version name, initial build suffix, Android CI `versionCode`, and future bump rule.
26+
- Run `flutter analyze`.
27+
28+
## Blockers
29+
30+
- None. This issue does not require Play Console access or signing secrets.

0 commit comments

Comments
 (0)