Publishing

List your Progressive Web App in Google Play

By listing your PWA on Google Play, it becomes discoverable in the world’s largest app store. Google Play also offers app ratings and reviews, giving users insight into your PWA before installing it. Finally, when you list your app in Google Play, you also get the power of Google Play Billing, giving users a familiar payment platform to work with while supporting payments from multiple countries.

Bubblewrap

Bubblewrapis a CLI to take your Progressive Web App and wrap it in an Android App Bundle for distribution through app stores, like Play on Chrome OS and Android, all without requiring Android app development knowledge.

To get started, install Bubblewrap from NPM:

bash
$ npm install -g @bubblewrap/cli

To initialize your project, pass in your PWA’s web app manifestas input and Bubblewrap will generate an Android project to build your PWA Play package from.

bash
$ bubblewrap init --manifest="<web-manifest-url>"

Then build the project and Bubblewrap will create the packages (APK or AAB) that can be uploaded to Google Play to be distributed.

bash
$ bubblewrap build

Check the official CLI documentationfor a quickstart guide and more details about the commands.

Chrome OS only

If you already have a platform specific Android app, or do not wish to have a mobile experience, you can make your application available only on Chrome OS by adding the --chromeosonly flag in the init command:

bash
$ bubblewrap init --manifest="<web-manifest-url>" --chromeosonly

If you have already initialized your application, you can change this configuration by setting the isChromeOSOnly flag to true in the twa-manifest.json file and running Bubblewrap’s update command.

Signing Key

Your signing key designates you as the original author of the app and any updates that are made to that app need to use the original signing key. When initializing your project, Bubblewrap will ask for your existing key or create a new key for you.

Setting up Digital Asset Links requires multiple steps: you need to gather information on your app from Google Play and deploy files at specific places in your web application. For tips on how to set up Digital Asset Links for your PWA, watch the video below:.

Publishing your app to Google Play

When you’re ready to publish your app to Google Play, do the following:

You can now release your app to Google Play! We recommend first releasing to a testing trackwith a trusted testers list to validate the app works as expected.

List a PWA for Chrome OS and a platform specific Android app under one listing

If you already have a well established Android presence with a platform specific Android application and would like to release a PWA to Google Play that is targeted just for Chromebooks, you can do it all in the same listing. Make sure that when you package your PWA, use the aforementioned Chrome OS only flag. This will ensure that the PWA version will only be available to Chromebooks.

Complying with Google Play payment policies

If your PWA sells digital goods that fall under the Play payments policy, you must integrate Play billing into your app before it can be launched. Learn more on integrating Google Play Billing with your web app.

Updating your PWA in Play

Because users are using your live web app after installing your PWA through Google Play, there are only a few scenarios when you’ll need to update your deployed app. These include:

  • If the app is over a year old. In this case, you should update in order to ensure that your app works with the latest Android SDK.
  • If you have separate mobile and Chrome OS-only packages under the same listing, and the platform specific Android version number exceeds your Chrome OS-only PWA version. In this case, you need to bump the PWA version and redeploy the app while retaining your platform specific Android app release.
  • If there are new features you would like to take advantage of.
  • If you have changed your web app manifest, for instance updating icons or the theme color, and want those changes applied to your PWA in Play. In this case, you should recompile your Bubblewrap project and redeploy the app.