Skip to content

Setup PWA version for Google Play Launch #13

Description

@TalonDragon000

Google Play Store Submission as a Vite PWA
Yes, this is absolutely allowed and officially supported by Google, but you have to jump through a few specific technical hoops.

The Vehicle: Trusted Web Activity (TWA)
You cannot upload a raw manifest.json directly to the Google Play Store Console. Instead, you wrap your live, hosted Netlify URL inside an Android package called a Trusted Web Activity (TWA).

  • Tools like PWABuilder or Google's CLI tool bubblewrap do this for you automatically. They take your PWA manifest and compile it into a signable Android App Bundle (.aab) file that the Play Store accepts.

The Big Rules for Passing Review:

  • Domain Verification (Digital Asset Links): To prove to Google that you own the web domain your app points to, you must upload a specific cryptographic file generated during the build step (assetlinks.json) to your web server under https://yourdomain.com/.well-known/assetlinks.json. If this verification fails, your app will open with a visible browser URL address bar at the top, which triggers an automatic Play Store rejection.
  • Performance and Quality Baseline: Google requires the web app to meet minimum performance bars (like a Lighthouse performance score generally targeting 80+), have custom, high-resolution home screen icons, and feature a robust service worker that supports basic offline fallback handling.

What about WebAuthn (Passkeys / Biometrics)?
WebAuthn works flawlessly inside an Android TWA wrapper. Because a TWA uses the underlying system's digital engine (Chrome Custom Tabs) to render the web page, it inherits full browser-level access to the device’s hardware biometric authenticators (like Android Fingerprint or Face Unlock).

  • ⚠️ The Massive Caveat (Apple iOS): > If you ever plan to put this on the Apple App Store, this setup falls apart. Apple strictly rejects basic PWAs/WebViews under App Store Review Guideline 4.2 (Minimum Functionality) if they don't provide unique native platform features. Furthermore, WebAuthn handling inside iOS WKWebView containers remains notoriously buggy and restricted compared to Android's clean TWA integration.

Summary:

  • Publish to the Google Play Store via bubblewrap or PWABuilder.
  • Include WebAuthn if needed
  • Only move to React Native if an eventual, native-grade iOS App Store deployment is an absolute requirement for ProjectHub.
  • If using React-Native, change from browser localStorage to secure mobile hardware expo-secure-store
  • Keep code modular to ensure the web-version of UI doesn't have to be completely rewritten and stays backwards compatible

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions