|
| 1 | +# App Store & Play Store — Metadata & Assets |
| 2 | + |
| 3 | +> Reference document for App Store Connect and Google Play Console listing. |
| 4 | +> Keep in sync with actual app features. |
| 5 | +
|
| 6 | +--- |
| 7 | + |
| 8 | +## App Name |
| 9 | + |
| 10 | +**Eclipse Timer** |
| 11 | + |
| 12 | +--- |
| 13 | + |
| 14 | +## Short Description (≤80 characters) |
| 15 | + |
| 16 | +``` |
| 17 | +Precise eclipse contact times and countdowns for any location on Earth. |
| 18 | +``` |
| 19 | + |
| 20 | +(71 characters) |
| 21 | + |
| 22 | +--- |
| 23 | + |
| 24 | +## Full Description (≤4 000 characters) |
| 25 | + |
| 26 | +``` |
| 27 | +Eclipse Timer computes precise contact times for solar eclipses at any location you choose — down to the second. |
| 28 | +
|
| 29 | +Pick an eclipse from a catalog spanning 1900 to 2100, drop a pin on the map or use your GPS, and instantly see when each phase of the eclipse begins and ends at your exact location. |
| 30 | +
|
| 31 | +FEATURES |
| 32 | +
|
| 33 | +• Browse 200+ solar eclipses from 1900 to 2100 — total, annular, partial, and hybrid — with search and filtering by year, date, type, or catalog ID. |
| 34 | +
|
| 35 | +• Tap the map, drag a pin, or use GPS to set your observer location. The engine computes results for your precise coordinates. |
| 36 | +
|
| 37 | +• View all five contact times (C1, C2, Greatest Eclipse, C3, C4) in both UTC and your local time zone. See eclipse type, magnitude, and duration of totality or annularity at your chosen spot. |
| 38 | +
|
| 39 | +• Live countdown timer shows days, hours, minutes, and seconds until the next eclipse event for the selected eclipse. |
| 40 | +
|
| 41 | +• Set notification reminders for eclipse contacts — one hour before, ten minutes before, or at the moment of each event. Choose between system sounds, vibration, or spoken voice (TTS) alerts. |
| 42 | +
|
| 43 | +• Interactive map overlays show the eclipse's visible path and central line so you can see where totality or annularity occurs. |
| 44 | +
|
| 45 | +• NASA preview animations let you visualize each eclipse before it happens. |
| 46 | +
|
| 47 | +• Save favorite locations for quick access across different eclipses. |
| 48 | +
|
| 49 | +HOW IT WORKS |
| 50 | +
|
| 51 | +Eclipse Timer uses the classical Besselian elements method — the same mathematical framework used by professional astronomers — to compute local eclipse circumstances. The engine evaluates polynomial shadow geometry at your observer coordinates to determine exactly when the moon's penumbral and umbral shadows reach your location. |
| 52 | +
|
| 53 | +All computation happens on your device. Your location is never sent to any server. |
| 54 | +
|
| 55 | +PRIVACY |
| 56 | +
|
| 57 | +Eclipse Timer requests location access only when you choose to use GPS. Your coordinates stay on your device and are used solely to compute eclipse times. The app contains no ads, no analytics, no tracking, and no user accounts. See our full privacy policy for details. |
| 58 | +
|
| 59 | +Whether you're planning a trip to see totality, checking if a partial eclipse will be visible from your backyard, or exploring historical eclipses — Eclipse Timer gives you the precise timing data you need. |
| 60 | +``` |
| 61 | + |
| 62 | +(1 753 characters) |
| 63 | + |
| 64 | +--- |
| 65 | + |
| 66 | +## Keywords (≤100 characters, comma-separated, iOS only) |
| 67 | + |
| 68 | +``` |
| 69 | +eclipse,solar eclipse,totality,annular,eclipse timer,contact times,astronomy |
| 70 | +``` |
| 71 | + |
| 72 | +(78 characters) |
| 73 | + |
| 74 | +--- |
| 75 | + |
| 76 | +## What's New — v1.0.0 |
| 77 | + |
| 78 | +``` |
| 79 | +Initial release of Eclipse Timer. |
| 80 | +
|
| 81 | +• Browse 200+ solar eclipses from 1900 to 2100 |
| 82 | +• Compute precise contact times (C1/C2/Max/C3/C4) for any location |
| 83 | +• Live countdown timer to next eclipse event |
| 84 | +• Notification reminders with sound, vibration, or voice alerts |
| 85 | +• Interactive map with eclipse path overlays |
| 86 | +• NASA preview animations |
| 87 | +• Favorite locations |
| 88 | +• Dark theme UI |
| 89 | +``` |
| 90 | + |
| 91 | +--- |
| 92 | + |
| 93 | +## Category |
| 94 | + |
| 95 | +- **Primary:** Weather (iOS) / Weather (Android) |
| 96 | +- **Secondary:** Education (iOS) / Education (Android) |
| 97 | + |
| 98 | +> Note: There is no "Astronomy" category on either store. Weather or Education are the closest fits. Reference or Tools are alternatives. |
| 99 | +
|
| 100 | +--- |
| 101 | + |
| 102 | +## Content Rating |
| 103 | + |
| 104 | +### Apple App Store — Age Rating Questionnaire |
| 105 | + |
| 106 | +Answer **No** to all of the following: |
| 107 | +- Cartoon or Fantasy Violence — No |
| 108 | +- Realistic Violence — No |
| 109 | +- Sexual Content or Nudity — No |
| 110 | +- Profanity or Crude Humor — No |
| 111 | +- Alcohol, Tobacco, or Drug Use or References — No |
| 112 | +- Simulated Gambling — No |
| 113 | +- Horror/Fear Themes — No |
| 114 | +- Medical/Treatment Information — No |
| 115 | +- Mature/Suggestive Themes — No |
| 116 | +- Unrestricted Web Access — No (the app only loads NASA GIF images, not arbitrary web content) |
| 117 | + |
| 118 | +**Expected rating: 4+** |
| 119 | + |
| 120 | +### Google Play — Content Rating Questionnaire (IARC) |
| 121 | + |
| 122 | +Answer **No** to all content categories: |
| 123 | +- Violence — No |
| 124 | +- Sexual Content — No |
| 125 | +- Language — No |
| 126 | +- Controlled Substance — No |
| 127 | +- User Interaction — No (no user-generated content, no social features) |
| 128 | +- Shares Location — No (location is used on-device only, never shared) |
| 129 | +- Contains Ads — No |
| 130 | +- Digital Purchases — No |
| 131 | + |
| 132 | +**Expected rating: Everyone / PEGI 3 / USK 0** |
| 133 | + |
| 134 | +--- |
| 135 | + |
| 136 | +## Icon Assets — Status & Requirements |
| 137 | + |
| 138 | +### Current State |
| 139 | + |
| 140 | +| Asset | Path | Dimensions | Format | Status | |
| 141 | +|-------|------|-----------|--------|--------| |
| 142 | +| `icon.png` | `apps/mobile/assets/icon.png` | 1024×1024 | 32-bit ARGB | ⚠️ Has alpha channel — iOS requires **no transparency** | |
| 143 | +| `adaptive-icon.png` | `apps/mobile/assets/adaptive-icon.png` | 1024×1024 | 32-bit ARGB | ✅ Size OK for Android adaptive icon foreground | |
| 144 | +| `splash-icon.png` | `apps/mobile/assets/splash-icon.png` | 1024×1024 | 32-bit ARGB | ✅ OK | |
| 145 | +| `favicon.png` | `apps/mobile/assets/favicon.png` | 256×256 | 32-bit ARGB | ✅ OK for web | |
| 146 | + |
| 147 | +### Required Actions |
| 148 | + |
| 149 | +1. **iOS App Store icon (1024×1024, no alpha):** |
| 150 | + - Export `icon.png` with a solid background (no transparency). Use the app's dark background (`#0b0b0b`) to fill alpha. |
| 151 | + - The App Store will reject submissions if the icon contains an alpha channel. |
| 152 | + - Tool: `convert icon.png -background "#0b0b0b" -flatten icon-no-alpha.png` (ImageMagick) or re-export from source SVG. |
| 153 | + |
| 154 | +2. **Android adaptive icon:** |
| 155 | + - Current `adaptive-icon.png` at 1024×1024 is acceptable (Expo scales it). The recommended foreground size is 432×432 within a 108dp safe zone, but Expo handles the masking. |
| 156 | + |
| 157 | +3. **Feature Graphic (Android, required):** |
| 158 | + - Google Play requires a 1024×500 "feature graphic" banner image. |
| 159 | + - This is not an app icon — it's a promotional banner shown at the top of the Play Store listing. |
| 160 | + - Create a 1024×500 PNG or JPEG with the app name, logo, and a visual related to eclipses. |
| 161 | + |
| 162 | +--- |
| 163 | + |
| 164 | +## Screenshots — Requirements |
| 165 | + |
| 166 | +### Apple App Store |
| 167 | + |
| 168 | +| Device Class | Required Size (pixels) | Minimum Count | |
| 169 | +|-------------|----------------------|---------------| |
| 170 | +| iPhone 6.7" (iPhone 15 Pro Max) | 1290 × 2796 | 3 | |
| 171 | +| iPhone 6.5" (iPhone 11 Pro Max) | 1242 × 2688 | 3 (or use 6.7" if only supporting newer) | |
| 172 | +| iPad 12.9" (3rd gen+) | 2048 × 2732 | 3 (only if iPad is listed as supported) | |
| 173 | + |
| 174 | +### Google Play Store |
| 175 | + |
| 176 | +| Device Class | Required Size | Minimum Count | |
| 177 | +|-------------|--------------|---------------| |
| 178 | +| Phone | 16:9 or 9:16, min 320px, max 3840px per side | 2 (recommended 4–8) | |
| 179 | +| 7" Tablet | Same ratio rules | 0 (recommended if tablet-optimized) | |
| 180 | +| 10" Tablet | Same ratio rules | 0 (recommended if tablet-optimized) | |
| 181 | + |
| 182 | +### Recommended Screens to Capture |
| 183 | + |
| 184 | +1. **Landing screen** — eclipse list with search visible, an eclipse selected, NASA preview showing |
| 185 | +2. **Timer screen — map view** — map with pin placed, eclipse overlay paths visible |
| 186 | +3. **Timer screen — results** — computed contact times card with countdown, showing all C1–C4 times |
| 187 | +4. **Notification settings** — notification toggles and scheduled event list |
| 188 | +5. **Timer screen — full view** — map + results together showing the complete experience |
| 189 | + |
| 190 | +### How to Capture |
| 191 | + |
| 192 | +```bash |
| 193 | +# Build a preview APK/IPA |
| 194 | +eas build --profile preview --platform all |
| 195 | + |
| 196 | +# Install on physical devices or simulators at the required resolutions |
| 197 | +# Use device screenshot (Power + Volume Up on iOS, Power + Volume Down on Android) |
| 198 | +# Or use Xcode Simulator: File > Save Screen, Android Studio emulator: camera icon |
| 199 | +``` |
| 200 | + |
| 201 | +--- |
| 202 | + |
| 203 | +## Account Verification |
| 204 | + |
| 205 | +### Apple Developer Account |
| 206 | +- Ensure the Expo owner `lallimaven` maps to an Apple Developer account ($99/year). |
| 207 | +- The `bundleIdentifier` (`com.lallimaven.eclipse-timer`) must be registered in the Apple Developer portal under Identifiers. |
| 208 | +- EAS Build can manage provisioning profiles and signing certificates automatically. |
| 209 | + |
| 210 | +### Google Play Console |
| 211 | +- Ensure a Google Play Developer account exists ($25 one-time fee). |
| 212 | +- The `android.package` (`com.lallimaven.eclipsetimer`) will be permanently associated with this account after first upload. |
| 213 | +- EAS Build generates a signed AAB for upload. |
| 214 | + |
| 215 | +--- |
| 216 | + |
| 217 | +## Submission Checklist |
| 218 | + |
| 219 | +``` |
| 220 | +Before submitting: |
| 221 | +├── [ ] icon.png re-exported without alpha channel |
| 222 | +├── [ ] Feature graphic (1024×500) created for Google Play |
| 223 | +├── [ ] Screenshots captured for all required device classes |
| 224 | +├── [ ] Short description entered in both store consoles |
| 225 | +├── [ ] Full description entered in both store consoles |
| 226 | +├── [ ] Keywords set (iOS only) |
| 227 | +├── [ ] "What's New" text entered |
| 228 | +├── [ ] Content rating questionnaires completed |
| 229 | +├── [ ] Privacy policy URL set in both listings |
| 230 | +├── [ ] Category selected |
| 231 | +├── [ ] Apple Developer account verified |
| 232 | +├── [ ] Google Play Console account verified |
| 233 | +└── [ ] App builds successfully with `eas build --profile production` |
| 234 | +``` |
0 commit comments