TECHNICAL GUIDE

How to publish a web app on Google Play (2026)

2026-06-12· 10 min read
Publishing a web app on Google Play is not the same as publishing a native app — and that's the advantage. Your SaaS, web tool, or dashboard can reach Android's 3+ billion devices without rewriting a line of business logic. What you need is a packaging layer that makes your HTTPS app look and behave like a native app to the Play Store. This guide covers the exact technical path: which build type fits your app, what the store actually requires in 2026, and the compliance traps that trip up developers.

What the Play Store actually checks

Google Play's automated review for web app packages checks four things:

  • Target API level — must be 35 (Android 15) for all new apps and updates in 2026.
  • Minimum functionality (policy 4.3) — the app must do something useful. A single-screen static page fails; a multi-screen app, a SaaS dashboard, or a content platform passes.
  • Data Safety form — you must declare what data your app collects (even if it's just analytics). Required for all submissions since 2023.
  • Valid signature — the .aab must be signed with a keystore. The same keystore must be used for every future update of that package name.

TWA vs Capacitor: picking the right build for your web app

The build method you choose affects app size, PWA feature access, and Play Store compatibility. Both produce a valid .aab — the difference is what happens at runtime.

CriterionTWACapacitor
PWA manifest requiredYes (≥192px icon, HTTPS, service worker)No — any HTTPS URL works
App size~2–5 MB~15–30 MB
RenderingChrome browser (shares cookies/cache)System WebView (isolated)
Push notificationsVia web manifestNative Firebase (more reliable)
Native pluginsNoCamera, biometrics, shortcuts
API level 35✓ (via Bubblewrap)✓ (via Capacitor CLI)
Offline supportRequires service worker in your appCan inject SW or use native cache

The practical rule: if your PWA score is ≥ 80 and you have a service worker, TWA gives you a smaller, lighter app that shares the user's Chrome session. If your app is missing a service worker or you want native push notifications, use Capacitor. SaasToStore auto-selects based on your PWA check result — you don't have to decide manually.

Step-by-step: from web app URL to Play Store

  1. 1. Run a PWA check

    Paste your URL into a free PWA checker. This tells you your manifest score, whether you have a service worker, and whether TWA or Capacitor is the right build path. Takes 10 seconds.

  2. 2. Configure your app identity

    Set a package name in reverse-domain format (com.yourcompany.appname). This is permanent — it identifies your app in Play Store forever. Set it once; never change it. Also choose an app name (≤ 30 chars for Play Store) and upload a 512×512px icon.

  3. 3. Build the signed .aab

    SaasToStore generates a signed Android App Bundle with a fresh keystore encrypted with a password only you receive by email. The build targets API level 35 automatically. Build time: ~5 minutes.

  4. 4. Create a Play Console account

    Register at play.google.com/console and pay the one-time 25$ developer fee. Identity verification is required (Google checks ID against the account). Approval usually takes 1–2 days.

  5. 5. Create a new app and upload

    In Play Console, create a new app → Production track → upload the .aab. Complete the required sections: app content, target audience, Data Safety declaration, content rating questionnaire, privacy policy URL. Then submit for review.

2026 compliance: what changed

Target API level 35

Required

All new submissions and updates must target Android 15 (API 35). Older target levels fail validation before review.

Play Integrity API

Deadline passed

The old SafetyNet Attestation API is deprecated. If your web app or backend calls SafetyNet, migrate to Play Integrity API.

Data Safety section

Required

You must accurately declare all data your app collects (even via third-party SDKs like analytics). Mismatches between your declaration and app behaviour trigger removal.

Identity verification

Required

All developer accounts now require identity verification (personal or organisation). Required for new accounts and some existing accounts.

Common rejection reasons for web app packages

  • Policy 4.3 (minimum functionality) — your site must have real interactivity. A marketing landing page with one CTA gets rejected. A SaaS dashboard, a productivity app, a content platform all pass.
  • Broken deep links — if tapping a link inside your app opens the system browser instead of staying in-app, reviewers flag this as low quality. Keep all navigation inside the WebView shell.
  • Wrong keystore on update — updating an existing app with a different keystore causes an upload error. Always store your keystore securely and reuse it for every update.
  • Missing privacy policy — required for all apps. Link a public URL in your Play Console listing.
  • Digital goods sold outside Play Billing — if your app sells in-app digital content (not a web subscription), Play Billing is mandatory. SaaS subscriptions billed on the web are exempt.

Keeping the app up to date

One of the main advantages of a web app wrapper: your content is always live. When you deploy a fix or a new feature to your website, every user sees it immediately — no Play Store update required. You only rebuild and resubmit when:

  • — You change the app name, icon, or splash screen
  • — You add a native capability (push notifications, biometric auth)
  • — Google raises the minimum target API level (next bump: API 36, expected 2027)
  • — Your package version code needs to increment for a store policy reason

For everything else — UI changes, new pages, feature releases — deploy to your website and the app updates itself.

Beyond Google Play

The same build session that produces your Google Play AAB can also generate a Windows .msi, macOS .dmg, and Linux .AppImage — published to the Microsoft Store, the Snap Store, Flathub, and GitHub Releases. If you're going to package your web app once, there's no marginal cost to reaching all 7 stores in the same build.

Check if your web app is store-ready

Free PWA check — manifest score, service worker status, build path recommendation. 10 seconds.

Check my app →

Frequently asked questions

Can I publish a web app on Google Play?+

Yes. Google Play accepts web apps packaged as Trusted Web Activities (TWA) or wrapped with Capacitor. Both approaches produce a signed Android App Bundle (.aab) that passes Play Store review. TWA requires a valid PWA manifest and service worker; Capacitor works with any HTTPS URL.

What is the difference between a TWA and a Capacitor app for Google Play?+

A TWA (Trusted Web Activity) is a thin shell that loads your site in Chrome with no app chrome visible — the browser IS the app. It requires a valid PWA manifest with at least one icon ≥192px, an HTTPS URL, and a service worker (or it falls back to Capacitor). Capacitor embeds a WebView and packages your site as a full native APK. Capacitor has no PWA requirements, supports all Android API levels, and gives you native plugin access (camera, push, biometrics). SaasToStore auto-selects based on your PWA score.

What API level does my web app need to target for Google Play in 2026?+

Google Play requires target API level 35 (Android 15) for all new submissions and updates in 2026. Both TWA and Capacitor builds on SaasToStore already target API 35 — you don't configure this manually.

Do I need to add billing code to my web app for Google Play?+

Only if you sell digital goods or subscriptions inside the app. If your SaaS charges via your website (a browser-based checkout), you are NOT required to use Google Play Billing. The billing policy applies to in-app purchases — selling digital content within the app. Directing users to your web checkout for subscriptions is allowed.

How do I update my web app on Google Play?+

Your web content updates automatically — the app loads your live site, so any change you deploy to your web app is instantly visible in the store app. You only need to submit a new build when you change the app name, icon, package ID, or add native capabilities. Each new build must increment the version code and be signed with the same keystore.

What is a signed AAB and why does Google Play require it?+

An Android App Bundle (.aab) is the distribution format Google Play requires instead of raw APKs. It must be signed with a private key (keystore). Play Store uses the signature to verify you own the app and to generate optimised APKs for each device. Keep your keystore encrypted — losing it means you can never update the app under the same package name.

How long does it take to get a web app approved on Google Play?+

First review for a new app typically takes 1–3 days. Updates are usually reviewed within hours. The review is automated for most web apps; human review triggers when the app contains specific categories (financial, medical, VPN, etc.) or when automated checks flag an issue.

Ready to publish your app?

Paste your URL. We build the signed Android App Bundle. You upload to the Play Store.

Deploy now

Keep reading