placebo.mk/PLAY_STORE_CHECKLIST.md
2026-07-24 04:02:04 +02:00

287 lines
7.7 KiB
Markdown

# Google Play Store Pre-Upload Checklist
Use this checklist before uploading to Google Play Store to ensure everything is ready.
---
## 📋 Phase 1: Assets & Content
### Icons
- [x] ✅ PNG icons generated (72, 96, 128, 144, 152, 192, 384, 512)
- [x] ✅ Maskable icon created (512x512 with safe zone)
- [x] ✅ Adaptive icon layers (foreground + background)
- [x] ✅ Icons added to manifest
**Location:** `pwa/public/icons/`
### Screenshots
- [ ] ⏳ Captured minimum 2 screenshots (recommended 4-8)
- [ ] ⏳ Screenshots are 1080x2340 (portrait)
- [ ] ⏳ Screenshots show actual app content
- [ ] ⏳ Screenshots saved as PNG
- [ ] ⏳ Screenshots named `screenshot-1.png`, `screenshot-2.png`, etc.
**Location:** `pwa/public/screenshots/`
**Guide:** See `pwa/public/screenshots/README.md`
### Feature Graphic
- [x] ✅ Created 1024x500 banner
- [x] ✅ No transparency (solid background)
- [x] ✅ Saved as PNG
**Location:** `pwa/public/assets/feature-graphic.png`
### Privacy Policy
- [x] ✅ Privacy policy written
- [x] ✅ Route added to PWA (`/privacy-policy`)
- [x] ✅ Accessible at `https://app.placebo.mk/privacy-policy`
- [x] ✅ Covers data collection (PostHog, cache, etc.)
- [x] ✅ GDPR compliant
**URL:** https://app.placebo.mk/privacy-policy
---
## 🔧 Phase 2: Technical Setup
### PWA Configuration
- [x] ✅ Manifest updated with PNG icons
- [x] ✅ Categories added (`news`, `entertainment`)
- [x] ✅ Orientation set to `portrait-primary`
- [x] ✅ Theme colors configured
- [x] ✅ Service worker working
- [x] ✅ Offline functionality tested
**File:** `pwa/vite.config.ts`
### Digital Asset Links
- [x]`assetlinks.json` template created
- [ ] ⏳ SHA256 fingerprint updated (after PWABuilder)
- [x] ✅ Nginx configured to serve `.well-known/`
- [ ] ⏳ File accessible at `https://app.placebo.mk/.well-known/assetlinks.json`
- [ ] ⏳ Validated with Google's tool
**File:** `pwa/public/.well-known/assetlinks.json`
**Validator:** https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://app.placebo.mk
### Build & Deployment
- [x] ✅ TypeScript check passes
- [x] ✅ ESLint passes
- [x] ✅ Production build successful
- [ ] ⏳ Updated PWA deployed to `https://app.placebo.mk`
- [ ] ⏳ PWA accessible and working
**Commands:**
```bash
cd pwa
npm run type-check
npm run lint
npm run build
# Deploy to Coolify
```
---
## 📱 Phase 3: Android App Generation
### PWABuilder Setup
- [ ] ⏳ PWA URL entered: `https://app.placebo.mk`
- [ ] ⏳ PWA score checked (should be high)
- [ ] ⏳ Package configured:
- App name: `Placebo.mk`
- Package ID: `mk.placebo.app`
- Launch URL: `https://app.placebo.mk/`
- Theme color: `#000000`
- Background: `#ffffff`
- Orientation: `portrait`
### Signing Key
- [ ] ⏳ Signing method chosen (Cloud or Own)
- [ ] ⏳ Signing key generated
- [ ] ⏳ SHA256 fingerprint copied
- [ ] ⏳ Signing details saved securely
⚠️ **IMPORTANT:** Keep signing key details secure! You'll need them for updates.
### App Package
- [ ] ⏳ AAB file downloaded
- [ ] ⏳ Test APK downloaded (optional)
- [ ] ⏳ SHA256 fingerprint added to `assetlinks.json`
- [ ] ⏳ Updated PWA redeployed
---
## 🧪 Phase 4: Testing (Optional but Recommended)
### Local Testing
- [ ] ⏳ APK installed on device
- [ ] ⏳ App opens without browser UI (TWA verified)
- [ ] ⏳ Navigation works correctly
- [ ] ⏳ Offline mode works
- [ ] ⏳ Analytics (PostHog) fires
- [ ] ⏳ No crashes or errors
### PWA Testing
- [ ] ⏳ Manifest validates: https://manifest-validator.appspot.com/
- [ ] ⏳ Service worker registers
- [ ] ⏳ Icons display correctly
- [ ] ⏳ Privacy policy loads
- [ ] ⏳ All routes work
---
## 🏪 Phase 5: Google Play Console Setup
### Account & App
- [x] ✅ Google Play Developer account active
- [ ] ⏳ App created in Play Console
- [ ] ⏳ App name set: `Placebo.mk`
- [ ] ⏳ Default language: Macedonian (mk-MK)
- [ ] ⏳ Free app selected
### Store Listing
- [ ] ⏳ Short description written (max 80 chars)
- [ ] ⏳ Full description written (max 4000 chars)
- [ ] ⏳ Screenshots uploaded (2-8 images)
- [ ] ⏳ Feature graphic uploaded
- [ ] ⏳ App icon uploaded (512x512)
- [ ] ⏳ Category selected: News & Magazines
- [ ] ⏳ Contact email: `privacy@placebo.mk`
- [ ] ⏳ Website: `https://placebo.mk`
- [ ] ⏳ Privacy policy URL: `https://app.placebo.mk/privacy-policy`
### Content Rating
- [ ] ⏳ Content rating questionnaire completed
- [ ] ⏳ Category: News & Reference
- [ ] ⏳ Questions answered honestly
- [ ] ⏳ Ratings applied
### Target Audience
- [ ] ⏳ Target age selected (13+ or 18+)
- [ ] ⏳ Ads declaration completed
- [ ] ⏳ Target audience declaration submitted
### Countries & Pricing
- [ ] ⏳ Countries selected (North Macedonia + others)
- [ ] ⏳ Pricing set to Free
- [ ] ⏳ Distribution settings confirmed
### App Release
- [ ] ⏳ AAB file uploaded
- [ ] ⏳ Upload processed successfully
- [ ] ⏳ Supported devices shown
- [ ] ⏳ Release notes added (Macedonian + English)
- [ ] ⏳ Release reviewed
---
## ✅ Final Checks Before Submission
### Critical Items
- [ ] ⏳ All Play Console sections marked complete (green checkmarks)
- [ ] ⏳ No errors or warnings in Play Console
- [ ] ⏳ Privacy policy accessible
- [ ] ⏳ Digital Asset Links verified
- [ ] ⏳ PWA live at `https://app.placebo.mk`
- [ ] ⏳ Screenshots captured and uploaded
- [ ] ⏳ Feature graphic uploaded
- [ ] ⏳ Content rating assigned
- [ ] ⏳ AAB uploaded successfully
### Nice to Have
- [ ] ⏳ Test APK installed and working
- [ ] ⏳ App preview video (optional)
- [ ] ⏳ Promo graphics (optional)
- [ ] ⏳ Social media announcement prepared
- [ ] ⏳ Website updated with app link
---
## 🚀 Submission
When all items above are complete:
1. [ ] ⏳ Click "Review release" in Play Console
2. [ ] ⏳ Fix any issues highlighted
3. [ ] ⏳ Click "Start rollout to Production"
4. [ ] ⏳ Confirm submission
5. [ ] ⏳ Wait for Google's review (1-7 days)
---
## 📊 Post-Submission
After submitting:
- [ ] ⏳ Monitor Play Console for review status
- [ ] ⏳ Check email for Google notifications
- [ ] ⏳ Prepare announcement content
- [ ] ⏳ Set up monitoring for crashes/errors
When approved:
- [ ] ⏳ Announce on social media
- [ ] ⏳ Update website with Play Store badge
- [ ] ⏳ Email users about app availability
- [ ] ⏳ Monitor reviews and respond
- [ ] ⏳ Track analytics and downloads
---
## 🆘 If Something Goes Wrong
### Common Issues:
**Upload fails:**
- Check AAB file size (max 150MB)
- Verify signing key
- Try uploading again
**TWA doesn't work:**
- Verify SHA256 fingerprint
- Check assetlinks.json URL
- Wait 5-10 minutes for cache
**App rejected:**
- Read rejection reason carefully
- Fix issues
- Resubmit
**Privacy policy error:**
- Ensure URL is accessible
- Check HTTPS is working
- Verify content is complete
---
## 📁 Important File Locations
| Item | Location |
|------|----------|
| Icons | `pwa/public/icons/icon-*.png` |
| Maskable Icon | `pwa/public/icons/icon-512-maskable.png` |
| Screenshots | `pwa/public/screenshots/` |
| Feature Graphic | `pwa/public/assets/feature-graphic.png` |
| Privacy Policy | `pwa/src/components/routes/PrivacyPolicyComponent.tsx` |
| Asset Links | `pwa/public/.well-known/assetlinks.json` |
| Nginx Config | `pwa/nginx.conf` |
| Manifest Config | `pwa/vite.config.ts` |
---
## 📚 Resources
- **Full Guide:** See `PLAY_STORE_GUIDE.md` in project root
- **Screenshots Guide:** See `pwa/public/screenshots/README.md`
- **Asset Links Guide:** See `pwa/public/.well-known/README.md`
- **PWABuilder:** https://www.pwabuilder.com/
- **Play Console:** https://play.google.com/console
---
**Current Status:** Ready for screenshot capture and PWABuilder packaging
**Next Action:** Capture screenshots from deployed PWA
Good luck! 🎉