This guide gives you a high-level overview of what's involved in publishing a Bubble native mobile app to either app store. Both platforms follow the same general shape — set up your accounts, configure your Bubble app, deploy a build, test it, and submit for review — but each has its own tools, requirements, and gotchas.
Before you start, make sure you've read the global native mobile settings guide and the native mobile app terminology reference. These apply to both platforms.
Before you start
Regardless of platform, you'll need to have the following sorted before you can publish:
A developer account — Apple Developer Program ($99/year) for iOS, or a Google Play Console account ($25 one-time fee) for Android
A unique app identifier — a Bundle ID (iOS) or Package Name (Android), both in reverse-DNS format (e.g. com.yourcompany.yourapp)
Icons, a splash screen, and app store screenshots
A privacy policy URL (required by both stores if your app collects any user data)
Push notification credentials set up in Bubble's Mobile settings, if you're using push notifications
Choosing your platform
The full step-by-step setup guides are split by platform. Jump to the one you need:
iOS App Store — covers Apple Developer setup, App Store Connect, Bundle ID, private keys, TestFlight, submission, resubmission, and updates
Google Play Store — covers Play Console vs Cloud Console, JSON key generation, Keystore setup, Firebase, testing tracks, and updates
Bubble supports publishing to the Apple App Store and Google Play Store only. Alternative Android app stores aren't supported.
OTA updates vs. New Builds
Once your app is live, you'll use one of two update methods in Bubble. This applies to both platforms:
Update type | When to use | Goes through store review? |
OTA (Over-the-Air) | Minor UI tweaks, bug fixes, text changes. Updates are pushed instantly and applied the next time a user opens the app. | No |
New Build | New features, structural changes, API modifications, or anything that requires store review. Generates a fresh build file sent to App Store Connect or Play Console. | Yes |
Common issues
These are the most frequent publishing problems across both platforms:
Issue | Platform | How to avoid it |
Build fails immediately | iOS | Don't manually create a distribution certificate before building — Bubble generates one automatically. Manually creating one can cause conflicts. |
Too many distribution certificates | iOS | Apple limits you to 3 certificates (standard) or 2 (Enterprise). Revoke an unused one in Certificates, Identifiers & Profiles before building. |
Build doesn't appear in TestFlight | iOS | Allow time for Apple to process the build. Check the correct Bundle ID was used, and confirm in Bubble that the build was submitted. |
Resubmission doesn't work | iOS | Delete the old build in App Store Connect first before selecting and submitting the new one. |
First deploy fails | Android | This is expected behavior — the first deploy intentionally fails to generate your .aab file, which is then emailed to you for manual upload to Play Console. |
Can't create a Google Cloud project | Android | You're likely on a Google Workspace account. Use a personal Google account, or ask your org admin to grant the Project Creator IAM role. |
App rejected for missing privacy policy | Both | If your app requests or collects any user data, both stores require a publicly accessible privacy policy URL. Add this during store setup. |
