Skip to content

How to Publish a PWA on Google Play With a Trusted Web Activity

Package a progressive web app for Google Play with Bubblewrap: manifest, Digital Asset Links, the Play App Signing fingerprint and policy pitfalls.

Updated 3 min readBy the TestersZone team

Short answer

Use Google’s Bubblewrap CLI: bubblewrap init --manifest pointing at your web manifest, then bubblewrap build to get an .aab. Publish /.well-known/assetlinks.json on your site with the SHA-256 fingerprint from Play App Signing (not just your local key), or the app shows a browser address bar.

What a TWA is

A Trusted Web Activity runs your PWA full-screen in the user’s Chrome (or another supporting browser), packaged as an Android app. You get Play distribution with one codebase. In return, your site must be a quality PWA and must prove you own it.

Requirements before you start

  • A valid web app manifest with name, icons (including 512×512) and start_url.
  • Served over HTTPS.
  • A good Lighthouse PWA/performance baseline. Slow, broken sites make poor apps.

Build with Bubblewrap

  1. npm i -g @bubblewrap/cli
  2. bubblewrap init --manifest https://yoursite.com/manifest.json and answer the prompts (package ID, app name, colours, signing key).
  3. bubblewrap build creates a signed .aab (and an APK for local testing).

Keep the generated keystore safe. It’s your upload key.

The app proves it owns your domain via https://yoursite.com/.well-known/assetlinks.json. It must list your package name and the SHA-256 certificate fingerprint of the key that signs the installed app. With Play App Signing, that’s Google’s app signing key, shown in Play Console under App integrity. Include both the Play App Signing fingerprint and your upload key fingerprint (for local testing).

If it’s wrong, the app still opens but shows a URL bar, which looks broken to testers.

Policy pitfalls

  • Minimum functionality. A TWA that’s just a marketing site risks rejection. Offer real app value.
  • Payments. Selling digital goods in a TWA has to follow Google Play’s payments policy.
  • Data safety. Your website’s analytics and cookies count as data collected by the app.

Ideas for testers

Ask them to test offline behaviour, installing from Play, notifications (if you use them), and whether the URL bar ever appears.

After the bundle is built

Upload to a closed track, add testers, keep 12+ opted in for 14 days on a new personal account, then apply for production access. See upload your first AAB.

Frequently asked questions

Can I use PWABuilder instead of Bubblewrap?

Yes. PWABuilder can generate an Android package for a PWA using the same Trusted Web Activity approach. Digital Asset Links are still required.

Will my web updates reach the app without a new release?

Yes. A TWA loads your live site, so content changes appear immediately. Ship a new store build only when the Android wrapper changes.

What if users don’t have Chrome?

TWAs work with browsers that support them, and fall back to a custom tab or WebView otherwise. Test on a device with a different default browser.

Sources and how we keep this accurate

Policy facts are checked against Google's own documentation on the date shown above. Google can change requirements at any time, so confirm in your Play Console. Where we give advice or estimates rather than Google's rules, we say so. TestersZone is independent and not affiliated with Google. Drafts are AI-assisted and reviewed by our team.

Need 12 testers? Get them free.

Test 3 apps, earn 60 credits, and list your app for up to 20 real testers with verified daily check-ins.

Start free

Keep reading

Browse all guides, or see the quick answers, guides and comparisons.