Skip to main content

Google Play Store

How to publish your app to Google Play Store.

Written by Sofia Maconi

To publish an app built with Bubble for native mobile apps on the Google Play Store, you need a Google Play Console developer account, an app in Google Play Console, and a Google Cloud project. Bubble then builds your app and, once everything is set up, delivers each new build to Google Play for you.

You connect your Bubble app to Google Play in the Bubble editor, and do the rest of the setup in Google's tools.

Bubble supports publishing to the Google Play Store only. Other Android app stores aren't supported.

Before you start

Create a Google Play Console developer account

To publish an Android app, you need a Google Play Console developer account.

Registration fee: Google charges a one-time registration fee for a developer account. The fee is set and managed by Google, independent of Bubble. See the Google Play Console Help for current pricing.

Google Play Console and Google Cloud Console

You'll use two of Google's tools during setup:

Tool

What it's for

Publishing and managing your app on the Google Play Store: creating your app listing, uploading builds, managing releases and testing, setting pricing and distribution, and viewing crash reports and analytics.

Managing the Google services your app uses: creating the service account and JSON key that let Bubble upload your builds, turning on APIs, and managing API keys and billing for services like Google Maps.

Google Play Console is for publishing and managing your app on the Google Play Store.

Google Cloud Console is for managing the Google services your app uses.

In short, Google Play Console is where you publish and manage your app, and Google Cloud Console is where you set up the access and services it needs. It can help to have both open in separate browser tabs while you set up your app.

Here's where each setup task happens:

Task

Where

Create your app listing

Google Play Console

Create a project, service account, and JSON key

Google Cloud Console

Give Bubble access to upload builds

Google Play Console

Turn on the Google Play Android Developer API

Google Cloud Console

Add your package name, JSON key, and code signing details

Bubble editor

Set up push notifications

Firebase Console, then the Bubble editor

Add screenshots, a description, and a privacy policy

Google Play Console

Terminology: This article uses terms that are specific to publishing on the Google Play Store. See the article below for a full terminology table.

Connecting your app to the Google Play Store

You connect your Bubble app to Google Play in the Settings tab, under Native mobile, in the Android play store section.

1. Create your app in Google Play Console

Create the app listing your builds will be uploaded to. See Creating your app in Google Play Console below.

2. Create a JSON key in Google Cloud

The JSON key lets Bubble upload your builds to Google Play on your behalf. You create it from a service account in a Google Cloud project, and then give that service account access to your Google Play Console account. See Creating a JSON key below.

3. Open the Android play store settings

In Bubble, go to the Settings tab, and under Native mobile, open the Android play store section.

4. Fill in your app details

Enter your app's details:

Field

What to enter

Package name

A unique ID for your app, like com.yourcompany.yourappname. It's the Android equivalent of the iOS Bundle ID, so it's a good idea to use the same value for both. It can contain letters, numbers, and underscores (_).

JSON key

The JSON key file you created in Google Cloud.

Code signing

Bubble creates the keystore that signs your app for you. If you'd rather use your own, upload it and enter its alias and password. See Generating a keystore manually.

5. Set up the remaining options

If your app uses push notifications, set up Firebase Cloud Messaging. See Push notifications.

Privacy policy: If your app requests or collects any kind of user data, for example camera access, Google requires a link to a privacy policy at a public URL. Apps without one can be rejected, so it's a good idea to prepare your privacy policy and add it while you set up your app in Google Play Console.

Creating your app in Google Play Console

1. Start a new app

In Google Play Console, click Create app.

2. Fill in the app details

Enter your app's name and the other details Google asks for. You can change this information later.

3. Finish creating the app

Follow the remaining prompts. When you're done, you're taken to your app's dashboard, where you'll manage your builds, store listing, pricing, and visibility.

Creating a JSON key

A JSON key is a secure credential that lets Bubble work with your Google Play Console account on your behalf. Specifically, it lets Bubble upload your Android builds directly to Google Play, without you uploading each file by hand. The key comes from a service account in a Google Cloud project.

Treat your JSON key like a password, and store it in a secure place.

Create a Google Cloud project

In Google Cloud Console, create a new project for your app. It's a good idea to create one project per app, so that API keys, billing, and permissions stay organized.

If you've used a Google API before, for example Google Maps, you may already have a project, but a dedicated project for your mobile app is usually easier to manage.

Creating a project with a personal or organization account

When you create a project, you may see an error like this:

You do not have the required resourcemanager.projects.create permission to create projects in this location.

This usually means you're signed in with a Google Workspace or company-managed account, and you don't have permission to create projects in your organization.

Account type

What to expect

Personal Google account

You can usually create projects without any issues. You'll see No organization as the location, which is fine.

Google Workspace or organization account

Project creation may be limited by an administrator. Ask an admin to create the project for you, or to give you the Project Creator role.

Create a service account and JSON key

1. Open service accounts

In Google Cloud Console, go to IAM & Admin and select Service Accounts.

2. Check that you're in the right project

Make sure you're in your app's Google Cloud project. If you're not, use the project picker in the top bar to switch.

3. Create the service account

Create a new service account and give it a name, like bubble-deploy-access.

When it's created, copy the service account's email address. You'll need it in a later step.

4. Generate a JSON key

Click Add key to generate a new JSON key.

Select JSON as the key type.

Then, download the file. This is the file you'll add to Bubble.

Give the service account access to Google Play Console

1. Open users and permissions

In Google Play Console, go to Users and permissions.

2. Invite the service account

Click Invite new user, and paste the service account's email address into the Email address field.

3. Set permissions

Open Account permissions and choose the permissions for the account. To make publishing smoother, we recommend Admin (all permissions), so that Bubble can send your builds straight to Google Play. Then click Invite user.

Turn on the Google Play Android Developer API

For Bubble to upload your builds automatically, the Google Play Android Developer API needs to be turned on. In Google Cloud Console, open your app's project, go to Enabled APIs & services, and make sure Google Play Android Developer API is turned on.

Generating a keystore manually (optional)

A keystore is a file that holds the key used to sign your app. The signature proves that each new version of your app comes from you and hasn't been changed. Bubble creates a keystore for you, so you only need this section if you have a specific reason to manage it yourself, or an existing keystore you want to reuse.

Your keystore is essential for future updates. If you lose it, you can't publish updates to your app on the Google Play Store. Store it somewhere secure, and keep a backup.

Creating a keystore uses your computer's command line: Terminal on macOS, or Command Prompt on Windows.

1. Install Java

You need Java installed on your computer to create a keystore. On macOS, you can install it with Homebrew.

2. Open your command line

  • macOS: Open Terminal, which you'll find in Applications > Utilities.

  • Windows: Open Command Prompt by searching for cmd.

3. Run the command

Paste this command, and replace KEY_ALIAS with a name you'll remember, like appname_keys:

keytool -genkeypair -v -keyalg RSA -keysize 4096 -validity 10000 -keystore KEYSTORE_OUTPUT_FILE.keystore -alias KEY_ALIAS

Use the arrow keys to move the cursor, since the mouse doesn't work in the command line. Press Enter when you're ready.

4. Answer the prompts

Enter a password for your keystore. You won't see the characters as you type, which is normal. Then answer the questions about your name and organization, pressing Enter after each one. Write down your password, since you'll need it in Bubble.

5. Finish up

If you see a warning about migrating to a different keystore format, follow the instructions on screen. Your keystore is saved to your computer, usually in your user folder.

6. Add the keystore to Bubble

In the Android play store section, upload the keystore file, and enter its alias (what you replaced KEY_ALIAS with) and its password.

To move the keystore to another folder, like Documents, run mv KEYSTORE_OUTPUT_FILE.keystore Documents, using your file's actual name.

Deploying

In Bubble, deploying your mobile app means generating a build: the packaged version of your app. For Android, this is an Android App Bundle (.aab) file.

Your first deployment works a little differently from later ones, because Google requires the first build to be uploaded by hand:

1. Deploy your app

In the Bubble editor, click Deploy. Your first deployment is expected to fail. This is how Bubble generates your first Android App Bundle.

2. Download the build

You'll get an email shortly after you deploy, with a link to download the .aab file.

3. Upload it to Google Play Console

In Google Play Console, open your app, and upload the .aab file in a new release, for example under Testing or Production.

After the first manual upload, Bubble uploads future builds to Google Play automatically, as long as the Google Play Android Developer API is turned on.

If your app uses services like Google Maps, push notifications, or in-app purchases, make sure they're fully set up in both Bubble and Firebase before you deploy.

Testing

Before you go live, test your app on different devices and in different situations. Google Play Console offers several testing tracks:

Testing track

Who can test

Internal testing

Your team, for quick testing with up to 100 testers

Closed testing

Specific people you invite, outside your team

Open testing

Anyone, through a public link. You need to fill in your store listing before you can use open testing.

To test, create a release in the Testing section of Google Play Console, upload your build, and invite testers by email or with an opt-in link. Check that your app's main features work, and that it performs well on different Android devices.

Review

When your app has been tested, you can prepare it for Google's review. This includes your store listing:

Store listing item

What it is

App name and short description

What users see first in the Google Play Store

Full description

A longer description of your app

App category

Where your app appears in the store

Screenshots and graphics

Images that show your app

Privacy policy URL

A link to your app's privacy policy

You'll also need to fill in forms about your app's content rating, target audience, and data safety.

Take your time here, and check that everything is accurate and follows Google's Developer Program Policies. Incorrect or incomplete information, especially about user data and permissions, can lead to delays or rejection. Reviews usually take a few business days, and can take longer for new developer accounts.

Publishing

When your app is approved, you can publish it from the Production section of Google Play Console. You can choose how to roll it out:

Rollout option

How it works

Full rollout

Your app becomes available to all users right away.

Staged rollout

Your app is released to a small percentage of users first, so you can watch for issues before releasing it to everyone.

Once it's live, your app appears in the Google Play Store. From then on, keep an eye on user reviews, crash reports, and usage data in Google Play Console.

Updates

After your app is live, you'll likely want to update it, whether to fix bugs, improve performance, or add features. There are two ways to update your app:

Update type

Best for

How it works

OTA (over-the-air) update

Small changes, like bug fixes, text changes, and minor design tweaks

Bubble sends the update straight to your users, without a new review.

New build

New features, bigger changes, and anything Google needs to review

Bubble creates a new build and uploads it to Google Play. You then release it from Google Play Console.

To publish a new build:

1. Make your changes

Make your changes in Bubble, and test them.

2. Deploy a new build

Deploy your app and choose a release type for the new version. Bubble uploads the build to Google Play.

3. Release it in Google Play Console

Create a new release with the build, and write release notes that sum up what's new or improved.

Even for small changes, it's a good idea to test a new version before you release it. For bigger updates, consider a staged rollout.

Push notifications

The files in this section give access to your Firebase services. Treat them as sensitive credentials, and store them securely, as you would passwords or API keys.

Bubble sends push notifications to Android devices through Firebase Cloud Messaging (FCM). To set it up, you need two files from Firebase: a google-services.json file, and a Firebase service account key.

Get your google-services.json file

1. Create a Firebase project

In the Firebase Console, create a new project.

Give the project a name.

Google Analytics is optional, and not needed for push notifications.

2. Add your Android app

In the project overview, click the Android icon to add an app.

Enter your app's package name, which needs to match the package name in Bubble.

The app nickname and debug signing certificate are optional.

3. Download the file

Click Register app, then download the google-services.json file and store it securely.

Get your Firebase service account key

1. Open the service accounts

In the Firebase Console, go to Project settings and open the Service accounts tab.

2. Generate a key

Click Generate new private key and confirm.

Download the .json key file and store it securely.

Add the files to Bubble

1. Open the push notification settings

Go to the Settings tab, and under Native mobile, open the Android play store section.

2. Upload the files

In the Firebase Cloud Messaging settings, upload your google-services.json file and your Firebase service account key.

To publish your app on iOS too, see iOS App Store.

Did this answer your question?