13 KiB
Google Play Store Publishing Guide
Complete step-by-step guide for publishing Placebo.mk PWA to Google Play Store using PWABuilder.
Prerequisites Checklist
Before starting, ensure you have:
- ✅ PWA deployed and accessible at
https://app.placebo.mk - ✅ Privacy Policy accessible at
https://app.placebo.mk/privacy-policy - ✅ PNG icons generated (72px - 512px)
- ✅ Maskable icon (512x512)
- ✅ Feature graphic (1024x500) at
pwa/public/assets/feature-graphic.png - ⏳ Screenshots captured (see
pwa/public/screenshots/README.md) - ✅ Google Play Developer account ($25 one-time fee)
Part 1: Capture Screenshots
Time estimate: 15-30 minutes
Instructions:
-
Open Chrome browser
-
Navigate to
https://app.placebo.mk -
Press
F12→ Click device toolbar (orCtrl+Shift+M) -
Select device: Pixel 5 (1080 x 2340)
-
Capture these screens:
- Homepage (hero article + latest articles)
- Article detail page
- Archive page
- Live blogs page
- Category page (Sport/Art/Science)
- Any other unique feature
-
Click three dots in device toolbar → "Capture screenshot"
-
Save as
screenshot-1.png,screenshot-2.png, etc. -
Place in
pwa/public/screenshots/
Requirements:
- Minimum 2 screenshots
- Recommended 4-8 screenshots
- Format: PNG
- Portrait orientation (1080x2340)
Part 2: Generate Android App with PWABuilder
Time estimate: 20-30 minutes
Step 1: Access PWABuilder
- Go to https://www.pwabuilder.com/
- Enter your PWA URL:
https://app.placebo.mk - Click "Start"
Step 2: Review PWA Score
PWABuilder will analyze your PWA and show a score. You should see:
- ✅ Manifest detected
- ✅ Service Worker registered
- ✅ HTTPS enabled
- ✅ Icons present
If any checks fail, fix them before proceeding.
Step 3: Package for Android
- Click "Package For Stores"
- Select Android platform
- Click "Generate Package"
Step 4: Configure Android Settings
Fill in the following:
| Field | Value |
|---|---|
| App Name | Placebo.mk |
| Package ID | mk.placebo.app |
| Launch URL | https://app.placebo.mk/ |
| Display Mode | standalone |
| Theme Color | #000000 |
| Background Color | #ffffff |
| Orientation | portrait |
| Icon URL | https://app.placebo.mk/icons/icon-512.png |
| Maskable Icon URL | https://app.placebo.mk/icons/icon-512-maskable.png |
| Shortcuts | Leave empty (optional) |
| Splash Screen | Auto-generated from icon |
Step 5: Signing Options
Choose one of these options:
Option A: Use PWABuilder Cloud Signing (Recommended)
✅ Pros: Easy, no setup, signing key managed for you ❌ Cons: Key stored by PWABuilder (trusted service)
- Select "Use new signing key"
- PWABuilder will generate and store your key
- Download the signing details (keep secure!)
Option B: Use Your Own Signing Key
✅ Pros: Full control over signing key ❌ Cons: More complex, must manage keystore securely
- Generate keystore locally:
keytool -genkey -v -keystore placebo-release.keystore \
-alias placebo-key -keyalg RSA -keysize 2048 -validity 10000
- Upload keystore to PWABuilder
- Enter keystore password and alias
Step 6: Generate Package
- Click "Generate Package"
- Wait 2-5 minutes for build to complete
- Download the generated package (AAB or APK)
Step 7: Extract SHA256 Fingerprint
PWABuilder will show your SHA256 fingerprint. It looks like:
14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E3:6D:3A:AE:4E:9F:5F:E8:E3:91:A0:7E
IMPORTANT: Copy this fingerprint - you'll need it for Digital Asset Links.
Part 3: Update Digital Asset Links
Time estimate: 5-10 minutes
Step 1: Update assetlinks.json
- Open
pwa/public/.well-known/assetlinks.json - Replace
PLACEHOLDER_SHA256_FINGERPRINT_FROM_PWABUILDERwith your actual fingerprint - Save the file
Example:
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "mk.placebo.app",
"sha256_cert_fingerprints": [
"14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E3:6D:3A:AE:4E:9F:5F:E8:E3:91:A0:7E"
]
}
}
Step 2: Deploy Updated PWA
Rebuild and deploy your PWA with the updated assetlinks.json:
cd pwa
npm run build
# Deploy to Coolify or your hosting platform
Step 3: Verify Deployment
Check that the file is accessible:
curl https://app.placebo.mk/.well-known/assetlinks.json
Validate with Google:
curl "https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://app.placebo.mk"
You should see your statement without errors.
Part 4: Test Locally (Optional but Recommended)
Time estimate: 15-20 minutes
Step 1: Install APK
PWABuilder provides a test APK. Install it on your Android device:
adb install -r placebo-mk.apk
Or email the APK to yourself and install manually.
Step 2: Test Functionality
Verify:
- ✅ App opens without browser UI (TWA verification)
- ✅ Icons display correctly
- ✅ Offline mode works
- ✅ Navigation works
- ✅ PostHog analytics fires
- ✅ Deep links work (if applicable)
Step 3: Debug Issues
If TWA doesn't work (shows browser UI):
- Check assetlinks.json is accessible
- Verify SHA256 fingerprint matches
- Ensure package name is correct
- Wait 5-10 minutes for DNS/CDN propagation
Part 5: Upload to Google Play Console
Time estimate: 30-60 minutes
Step 1: Create App in Play Console
- Go to https://play.google.com/console
- Click "Create app"
- Fill in details:
- App name: Placebo.mk
- Default language: Macedonian (mk-MK)
- App or game: App
- Free or paid: Free
- Accept declarations
- Click "Create app"
Step 2: Complete Store Listing
Navigate to Store presence → Main store listing
Fill in:
App Details:
- App name: Placebo.mk
- Short description: (max 80 chars)
Сатирични вести од Македонија - непристојно искрено и секогаш без филтер - Full description: (max 4000 chars)
Placebo.mk е платформа за сатирични вести и коментари за локални и глобални настани во Македонија. 🎯 Што нудиме: • Свежи сатирични вести за тековни настани • Непристоен и директен коментар без филтер • Live блогови за разбивачки вести во реално време • Offline пристап до сите статии • Категории: Политика, Спорт, Уметност, Наука и повеќе ⚡ Карактеристики: • Брзо и лесно читање на статии • Работи offline - читајте и без интернет • Push известувања за нови статии • Делете статии на социјални медиуми • Темна и светла тема Затоа што понекогаш вистината боли повеќе од фикцијата. Следете не на web: https://placebo.mk
Graphics:
- Upload screenshots (2-8 images from
pwa/public/screenshots/) - Upload feature graphic (
pwa/public/assets/feature-graphic.png) - Upload app icon (512x512 from
pwa/public/icons/icon-512.png)
Categorization:
- App category: News & Magazines
- Tags: news, satire, macedonia, politics (optional)
Contact Details:
- Email: privacy@placebo.mk (or your support email)
- Website: https://placebo.mk
- Phone: (optional)
Privacy Policy:
- Privacy policy URL:
https://app.placebo.mk/privacy-policy
Step 3: Set Up Content Rating
Navigate to Policy → App content → Content rating
- Click "Start questionnaire"
- Enter email address
- Select category: News & Reference
- Answer questions honestly:
- Does app contain violence? → (Select based on your content)
- Sexual content? → (Select based on your content)
- Language? → (Select based on your content)
- Drugs/alcohol references? → (Select based on your content)
- Submit questionnaire
- Apply ratings
Step 4: Configure Target Audience
Navigate to Policy → App content → Target audience and content
- Target age: 13+ (or 18+ if mature satire)
- App includes ads: No (unless you add ads later)
- Complete declaration
Step 5: Select Countries
Navigate to Release → Production → Countries/Regions
- Add countries:
- ✅ North Macedonia (primary)
- ✅ Other countries (optional - consider Albania, Serbia, Bulgaria, Greece for diaspora)
- Click "Add countries/regions"
Step 6: Upload AAB File
Navigate to Release → Production → Create new release
- Click "Upload" and select the AAB file from PWABuilder
- Wait for processing (may take 5-15 minutes)
- Google Play will show:
- ✅ APK size
- ✅ Supported devices
- ✅ Permissions required
- Review and confirm
Step 7: Add Release Notes
Add release notes for the first version:
Macedonian:
Прва верзија на Placebo.mk апликацијата!
• Читајте сатирични вести од Македонија
• Offline пристап до содржини
• Live блогови за разбивачки настани
• Брз и едноставен интерфејс
English (optional):
First version of Placebo.mk app!
• Read satirical news from Macedonia
• Offline access to content
• Live blogs for breaking news
• Fast and simple interface
Step 8: Review and Publish
- Click "Review release"
- Google will check for issues:
- ✅ All required fields complete
- ✅ Content rating assigned
- ✅ Target audience set
- ✅ Privacy policy accessible
- Fix any warnings
- Click "Start rollout to Production"
Part 6: Wait for Review
Time estimate: 1-7 days
What Happens Next:
- Submitted: Your app enters Google's review queue
- Under Review: Google reviews your app (usually 1-3 days)
- Approved: App goes live on Play Store 🎉
- Rejected: Fix issues and resubmit
Common Rejection Reasons:
- ❌ Privacy policy not accessible
- ❌ Content rating doesn't match app content
- ❌ Misleading app description
- ❌ Copyright/trademark issues
- ❌ Broken functionality
Tracking Status:
- Check Play Console dashboard
- You'll receive email notifications for status changes
- View detailed feedback in "Policy status"
Part 7: Post-Publication
After Your App is Live:
-
Share the News!
- Announce on your website
- Share on social media
- Email your users
-
Monitor Performance:
- Track downloads in Play Console
- Monitor crash reports
- Review user feedback/ratings
-
Set Up Store Listing Experiments (Optional):
- Test different screenshots
- A/B test descriptions
- Optimize icon designs
-
Plan Updates:
- Regular feature updates
- Bug fixes
- New content
-
Respond to Reviews:
- Reply to user reviews (especially negative ones)
- Show you care about user feedback
Troubleshooting
PWA Score is Low
- Verify manifest.json is valid
- Check service worker is registered
- Ensure HTTPS is enabled
- Add required icons
TWA Verification Fails
- Double-check SHA256 fingerprint
- Verify assetlinks.json is at correct URL
- Ensure package name matches exactly
- Wait for CDN cache to clear (5-10 mins)
Upload Failed
- Check AAB file size (max 150MB)
- Verify signing key is valid
- Ensure version code is unique
- Try uploading again (sometimes glitches occur)
App Rejected
- Read rejection reason carefully
- Fix issues listed
- Update AAB and resubmit
- Contact Google Play support if unclear
Important Files Reference
| File | Location | Purpose |
|---|---|---|
| Icons (PNG) | pwa/public/icons/icon-*.png |
App icons |
| Maskable Icon | pwa/public/icons/icon-512-maskable.png |
Adaptive icon |
| Screenshots | pwa/public/screenshots/ |
Play Store listing |
| Feature Graphic | pwa/public/assets/feature-graphic.png |
Store banner |
| Privacy Policy | https://app.placebo.mk/privacy-policy |
Required legal doc |
| Asset Links | pwa/public/.well-known/assetlinks.json |
TWA verification |
| Manifest | https://app.placebo.mk/manifest.webmanifest |
PWA config |
Support & Resources
- PWABuilder Docs: https://docs.pwabuilder.com/
- Google Play Help: https://support.google.com/googleplay/android-developer/
- TWA Guide: https://developers.google.com/web/android/trusted-web-activity
- Digital Asset Links: https://developers.google.com/digital-asset-links/
Next Steps After This Guide
- ✅ Complete all phases
- ✅ Deploy updated PWA with assetlinks.json
- ✅ Capture screenshots
- ✅ Generate Android app with PWABuilder
- ✅ Upload to Google Play Console
- ⏳ Wait for approval
- 🎉 Celebrate when live!
Good luck! 🚀