Do Closed Testers Have to Pay for a Paid App?
Testers must buy a paid app in a closed test, and the price applies to every track at once. What license testing removes from the bill, and what it leaves.
Base44 generates a Play-ready AAB from its Mobile app tab, but the package name is fixed, Billing is missing, and 12 testers still apply.
Base44 can generate a Google Play-ready Android App Bundle from inside its app editor. You open your app, click Publish, switch to the Mobile app tab, run the store-readiness scan, then generate the Google Play files and download the .aab. Uploading it and everything after that happens by hand in Play Console: Base44's own documentation states that Customer Care "does not track the progress of your submission, contact Apple or Google, or manage conversations with the review teams."
The build step takes minutes. The waiting does not. If your Play Console account is a personal one created after 13 November 2023, Google requires that you "run a closed test for their app with a minimum of 12 testers who have been opted in continuously for at least 14 days" before you can even apply for production access (Play Console Help). That rule does not care what your app was built with — Base44, Replit or Android Studio, the 14 days are the same 14 days.
Start here, because it decides everything downstream. A Base44 Android app is not a compiled build of your code. Base44 documents it plainly: "Your mobile app runs your published Base44 app inside a secure web view. This is a lightweight native wrapper around your web app that opens only your app's URL." Two consequences follow immediately.
First, most of your work reaches users without any store release. Content and layout changes you publish in Base44 appear in the installed app as soon as they go live, because the app is loading your live URL. Second, the app needs a stable public URL. Base44 confirms a custom domain is not required for submission — the default Base44 URL is accepted by both stores — but the app must be published, not a draft or a preview.
You only need a new store build when the wrapper itself changes: the app name, icon or splash screen, a new device permission, or push notifications. Knowing that boundary saves a lot of pointless build-and-resubmit cycles after launch.
The package name is assigned and permanent. Base44 sets it to com.base[app-id].app — for example, if your editor URL contains the app ID 69e0c4bdd31bdu8fda51775g, your package name is com.base69e0c4bdd31bdu8fda51775g.app. There is no setting to pick a com.yourcompany.app name. That is not just a Base44 limitation; it mirrors Google's own rule: "Once you upload an artifact, the package name for that app is fixed and cannot be changed" (Play Console Help). Every Firebase project, Google sign-in configuration and OAuth client you wire up must use this exact value, and it stays with the listing forever.
Base44's checklist is short, but two items on it catch people.
.aab requires Builder or above. Check this before you plan a launch week.In the Base44 app editor: Publish (top right) → Mobile app tab → Check Your App → Run App Scan → choose Google Play guidelines. The scan returns a Readiness Score with passed, partial and failed checks.
Base44 is explicit that you do not need a score of 100 to submit; what it recommends is no unresolved critical issues before you generate files. Each failed check offers two paths: Apply with AI, which opens the AI chat with a fix prompt built from the scan, or Copy Fix Prompt, if you would rather review the change yourself first. Publish the fixes, re-test sign-up, login and checkout in preview, then run the scan again.
One honest caveat: this readiness score is Base44's own proxy, not a Google review. Base44 states it cannot guarantee approval even with a high score, and Play review still evaluates your app, your listing and your answers separately.
Same tab, next action: Publish → Mobile app → Build Store Files → Create Google Play files. Confirm or regenerate the logo, toggle Add push notifications if you need them, then Generate Files and Download. The result is a signed Android App Bundle — the format Google has required for new apps since August 2021 (Android Developers) — which you upload yourself in Play Console when you create the closed testing release. Base44 configures the signing key automatically; you do not create or manage a keystore.
Push notifications need your own Firebase project. The free Spark plan is enough. Register an Android app in Firebase against the exact package name Base44 shows you, then upload two files in the generation window: google-services.json (so the app can receive notifications) and a service account key (so Base44 can send them). Treat the service account key as a secret. Note the catch Base44 documents: people who already installed your app only start receiving pushes after you generate new files and submit an updated version to Play.
Google sign-in needs Play's signing fingerprints. If your app offers Sign in with Google, it will work on the web and fail in the installed app until you add the SHA fingerprints: in Play Console go to Test and release → App integrity → App signing, copy the SHA-256 fingerprint (or download the certificates .zip if the page shows a quantum-ready badge), then in Base44 open the More actions menu next to the Google Play files and choose Add Google Play SHA. If you ever change signing settings in Play, update it here too.
The ADI snippet, if Google asks for it. Google is gradually rolling out a package-name ownership check: when Play Console prompts you, it shows an ADI registration snippet that must be added to the app. Base44 has Add Google Snippet in the same More actions menu; saving triggers a fresh Android build, ready in about five minutes. If you are never prompted, skip it.
This is the step that decides your launch date. Google's requirement, verbatim: "Developers with personal accounts created after November 13, 2023 must run a closed test for their app with a minimum of 12 testers who have been opted in continuously for at least 14 days" (Play Console Help). Your Base44 AAB does not change any of this.
Mechanics, in order: upload the AAB to a closed testing track, finish app setup, then in Test and release → Testing → Closed testing → Manage track → Testers tab, create an email list or a Google Group and share the opt-in link. Google allows up to 200 email lists with up to 2,000 users each and 50 lists per track (track setup documentation). Your 12 testers must each accept the invite themselves — adding an address to a list is not an opt-in.
Counting is where launches slip. At the moment you apply, 12 testers must have been opted in continuously for the preceding 14 days — so the 14-day clock effectively starts when your twelfth opt-in lands, and one person opting out on day 12 puts that slot back to zero. Recruit meaningfully more than 12. Based on our analysis of 1,500+ closed-testing campaigns, the recurring failure pattern is not dishonest testers; it is people who accept the invite, install once, and quietly drift out of the habit — see do testers need to open the app every day? and what happens if a tester uninstalls during the 14 days for what actually keeps a slot alive. If your count reads zero for no visible reason, 0 testers currently opted in covers the fixes.
Once 12 testers have held their opt-in for the preceding 14 days, the apply control appears on your app's Dashboard. You answer questions about your closed test, the app and its production readiness — here is what each question asks and how to answer it. If the button is missing or greyed out, the causes are enumerated in Apply for production button not showing.
Google's timeline for the decision: "Review usually takes seven days or less, but can occasionally take longer." You get an email when it completes; meanwhile track what the status page is telling you and how long each stage really takes. If the answer is more testing, keep the closed test running and do not remove testers — your next application is judged on the same continuous enrollment.
After approval, the Production page (and open testing) unlocks. Before the public release, finish what review will look at: store listing and screenshots, content rating, Data safety form, and — because your app is a web-view wrapper — working reviewer credentials. Set up app access test credentials with a seeded account, and complete device verification if prompted. A reviewer who cannot log in is the most avoidable delay in the whole process.
This is where the web-view architecture pays off. Fix a typo, redesign a page, ship a new feature in Base44, publish it — installed apps pick it up immediately, with no Play review. You only return to Play Console when the wrapper changes.
For those updates, go to More actions next to the stored files and choose Create New Files, not Download. Base44 increments the build number automatically each time you generate a fresh set; clicking Download again reissues the same file with the same build number, and Play rejects it with a version-code-already-used error. You cannot set version or build numbers manually — Base44 notes that asking the AI chat to change them does not work, because they are not part of your app's code.
One migration trap to know before you start: if a previous version of this app was uploaded to Play from Android Studio or another tool, the Base44 build's package name and signing key will not match the existing listing, and the stores will block the update. Base44's documentation is blunt that these values cannot be changed inside the generated files — the only route then is a new app entry, which means a fresh listing and, on a new personal account, a fresh 14-day clock.
Web-view wrappers are not banned on Google Play; unstable, unusable or policy-breaking apps are. In our reading of campaigns that cleared review on the first or second attempt, the apps that passed shared three things: a live URL that loaded on a slow connection, a reviewer account with seeded data, and privacy terms visible before sign-up. The rejections we see trace back to a short, predictable list.
com.android.vending.BILLING, the app does not support it, and there is nothing to toggle. Remove the digital-content checkout from the mobile app and answer review with what you changed.Target API level is Google's requirement, not Base44's: since 31 August 2026, new apps must target Android 16 (API level 36), with an extension available to 1 November 2026 (Play Console Help). Base44 does not publish which API level its generated AAB targets, so check the build warnings in Play Console after your first upload — if Play flags it, that is a question for Base44 support, not something you can set yourself.
Does a Base44 app still need 12 testers for 14 days? Yes, if your Play Console account is a personal one created after 13 November 2023. The requirement is scoped to the account, not the technology. Base44's role ends at producing the AAB.
Can Base44 submit my app to Google Play for me? No. It scans your app, helps fix issues and generates the AAB; the upload, the closed test and the production access application all happen in your own Play Console.
Can I choose my own package name? No. Base44 assigns com.base[app-id].app and there is no setting to change it — consistent with Google's rule that the package name is fixed once an artifact is uploaded.
Do I need a custom domain? No. Base44 confirms the default Base44 URL is accepted for store submission. A custom domain is a branding and SEO choice, not a requirement.
Can my Base44 app sell subscriptions on Google Play? Not yet. Base44 apps do not include Google Play Billing, and Google requires it for digital content sold inside an Android app. Physical goods, bookings and services can take payment through any provider.
How often will I need to upload new AABs? Rarely. Content and design changes published in Base44 reach installed apps immediately. Generate new files only for wrapper-level changes: name, icon, splash, permissions or push notifications.
What if I already have a Play listing built natively? Then this is not an update path. A Base44 build's package name and signing key will not match your existing listing, so the move means a new listing — check that cost before you start.
Register, create the app and choose your tester count. Every plan includes the same monitoring, support and participation guarantee.