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 is a CLI to take your Progressive Web App and wrap it in an Android App Bundle for distribution through app stores, like Play on ChromeOS and Android, all without requiring Android app development knowledge.
To get started, install Bubblewrap from NPM:
To initialize your project, pass in your PWA’s web app manifest as input and Bubblewrap will generate an Android project to build your PWA Play package from.
Then build the project and Bubblewrap will create the packages (APK or AAB) that can be uploaded to Google Play to be distributed.
Check the official CLI documentation for a quickstart guide and more details about the commands.
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 ChromeOS by adding the
--chromeosonly flag in the init command:
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
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:.
When you’re ready to publish your app to Google Play, do the following:
- Make sure your Google Play Developer account is set up.
- Check that your developer account details are accurate.
- If you’re using Google Play Billing, set up your Google Payment Merchant account and link it to your Google Play account.
- Create your app’s listing in Google Play.
You can now release your app to Google Play! We recommend first releasing to a testing track with a trusted testers list to validate the app works as expected.
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 ChromeOS only flag. This will ensure that the PWA version will only be available to Chromebooks. The same signing key needs to be used for both the PWA and Android app that are going to be sharing a Play Store listing.
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.
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.