How to Publish a Progressive Web App (PWA) to Google Play Store β Complete Professional Guide
π Introduction
Youβve successfully converted your website into a Progressive Web App (PWA).
Now the next powerful step is publishing it to Google Play Store β so users can install it just like any other Android app.
The professional and Google-recommended way to do this is through:
β Trusted Web Activity (TWA)
This guide will walk you step-by-step from PWA to Play Store publication.
π§ What is Trusted Web Activity (TWA)?
Trusted Web Activity allows you to:
Wrap your PWA into an Android app
Publish it on Google Play Store
Run it in full-screen mode (no browser UI)
Use Chrome engine (no WebView)
It requires:
A valid PWA
HTTPS
Digital Asset Links verification
β REQUIREMENTS CHECKLIST
Before publishing, make sure your PWA has:
β HTTPS
β Valid manifest.json
β Service Worker working
β 192x192 and 512x512 icons
β theme_color defined
β Offline support
β Privacy Policy page
π STEP 1 β Install Node.js
Download and install:
π https://nodejs.org
Verify installation:
node -v
npm -v
π STEP 2 β Install Bubblewrap CLI (Official Tool)
Bubblewrap is Googleβs official TWA generator.
Run:
npm install -g @bubblewrap/cli
Verify:
bubblewrap --version
π STEP 3 β Initialize Your Android Project
Create a new folder for your app project:
mkdir faulink-app
cd faulink-app
Then run:
bubblewrap init --manifest=https://yourdomain.com/manifest.json
You will be asked:
Question Example
Application name Faulink
Package ID com.faulink.app
Display mode standalone
Signing key Create new
π STEP 4 β Build Android App Bundle (.aab)
Run:
bubblewrap build
After build completes, you will get:
app-release-bundle.aab
This file is what you upload to Play Store.
π STEP 5 β Digital Asset Links Verification (VERY IMPORTANT)
Google requires proof that:
You own the website
The app belongs to that website
Create this file:
/.well-known/assetlinks.json
Example assetlinks.json
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.faulink.app",
"sha256_cert_fingerprints": [
"YOUR_SHA256_FINGERPRINT_HERE"
]
}
}
]
This file must be accessible at:
https://yourdomain.com/.well-known/assetlinks.json
How to Get SHA256 Fingerprint?
Inside your project folder:
keytool -list -v -keystore my-release-key.keystore
Copy the SHA256 fingerprint shown.
πͺ STEP 6 β Create Google Play Developer Account
Go to:
π https://play.google.com/console
Pay $25 one-time fee
Create new app
Choose "App" type
Default language
App name
π¦ STEP 7 β Upload Your App Bundle
Inside Play Console:
Go to Production
Create new release
Upload app-release-bundle.aab
Add release notes
Save
πΌ STEP 8 β Add Store Listing Information
You must add:
App description
Short description
App icon (512x512 PNG)
Feature graphic (1024x500)
Screenshots (at least 2)
Privacy Policy link
π STEP 9 β Content Rating & Policies
Complete:
Content rating questionnaire
Data safety section
Ads declaration
Target audience section
Make sure:
Privacy policy page exists
App does not violate Play policies
π STEP 10 β Submit for Review
After completing all sections:
Click:
Review β Send for review
Google review takes:
1β3 days (sometimes longer)
π± After Approval
Your PWA will:
β Appear in Play Store
β Install like normal app
β Open full screen
β Auto-update when website updates
π‘ Pro Tips for Approval
Avoid excessive ads
Provide clear privacy policy
Ensure app loads fast
No broken links
App must provide real value (not just blank website)
π Conclusion
Publishing a PWA to Google Play Store using Trusted Web Activity is:
Cost-effective
Professional
Scalable
Modern
With the right setup, your website becomes a full Android app β without rebuilding it from scratch.
π BONUS SECTION (Optional For Blog)
Can PWAs Really Compete with Native Apps?
Yes. For:
Business portals
School systems
E-commerce
Admin dashboards
Digital services
PWAs offer near-native performance with lower development cost.