Publishing Your First App on Google Play: The Complete 2026 Checklist
Everything between a finished APK and a live Play Store listing, in the order you need it — account setup, signing, the data safety form, store listing assets, closed testing and the rejection reasons that catch people out.
Writing the app is the part everyone plans for. The gap between a finished build and a live Play Store listing is the part that surprises people — and it is where first launches slip by weeks.
This is the checklist I work through, in order, drawn from taking twelve apps through the Play Console. Follow it top to bottom and nothing should ambush you.
Read this first: if you have a personal developer account created after 13 November 2023, you must run a 12-tester closed test for 14 days before you can publish to production. Start it the moment you have a working build. See the full explanation.
1. Developer account
- Register at the Play Console. One-time fee of 25 USD, no annual renewal.
- Choose your account type deliberately. Personal is fast but carries the 12-tester requirement. Organisation needs a D-U-N-S number and identity verification but skips closed testing. If you have a registered business, weigh the D-U-N-S wait against the 14-day test.
- Complete identity verification. Google will ask for government ID and address confirmation. Do it immediately — it can take days and blocks everything downstream.
- Set up a payments profile if you plan to charge for the app or sell in-app products. This also takes time to verify.
2. Prepare the build
- Set a unique, permanent application ID. Something like
net.yourdomain.appname. This can never be changed after publication — not renamed, not reused, not recovered if you delete the app. Get it right. - Set
versionCodeandversionName.versionCodeis an integer that must increase with every upload.versionNameis the human-readable string. - Target the required API level. Google raises this annually and enforces it for new submissions and updates. Check the current requirement before you build; being one level behind blocks the upload outright.
- Build a signed release
.aab, not an APK. App Bundles have been mandatory for new apps since August 2021. - Enable code shrinking and obfuscation for release builds, and keep the mapping file so crash reports stay readable.
- Test the release build on a real device. Release builds behave differently from debug builds — obfuscation breaks reflection, and network security config differs. A shocking number of crashes only appear here.
3. App signing — the step you cannot undo
This deserves its own section because getting it wrong is unrecoverable.
- Generate an upload keystore and back it up in at least two places that are not your laptop. If you lose it and are not enrolled in Play App Signing, you can never update your app again. Not "with difficulty" — never.
- Enrol in Play App Signing. Google holds the app signing key and you sign uploads with a separate upload key. If the upload key is lost, Google can reset it. This is the safety net and you should use it.
- Record the keystore password, key alias and key password in a password manager alongside the file itself.
4. Store listing assets
Produce these before you start filling in the console, or you will stall halfway through the form.
| Asset | Requirement | Notes |
|---|---|---|
| App icon | 512 × 512 PNG, 32-bit | Must read clearly at 48px. Test it small before committing. |
| Feature graphic | 1024 × 500 PNG or JPG | Required. Shown at the top of your listing — no transparency. |
| Phone screenshots | 2–8 images, minimum 320px on the short side | Use at least 4. Add captions rather than shipping raw captures. |
| Tablet screenshots | Optional but recommended | Required to be surfaced properly on tablets. |
| App title | 30 characters | Heavily weighted for store search. Name plus one keyword phrase. |
| Short description | 80 characters | Appears above the fold. This is your hook. |
| Full description | 4,000 characters | Front-load the value. Use natural keyword phrasing, not stuffing. |
The screenshots and the short description do most of the conversion work. Almost nobody reads to 4,000 characters, but Play's search indexes it — write it for both, with the first two lines aimed squarely at humans.
5. Content declarations
This section causes more rejections than the app code ever will.
- Privacy policy. A live URL on a stable domain. Required for any app handling personal or sensitive data, and for anything targeting children. In practice: publish one.
- Data safety form. A self-declaration of what your app collects, what it shares, whether it is encrypted in transit, and whether users can request deletion. It must match reality including your third-party SDKs. An analytics or ads SDK collects data on your behalf and you are responsible for declaring it. Mismatches here are the most common rejection I see.
- Content rating questionnaire. Answer accurately. Under-rating gets the app pulled later.
- Target audience and children's policy. If your audience includes under-13s, a substantially stricter policy set applies.
- Ads declaration. Declare it if the app contains ads, including ads inside an SDK you added.
- Permissions justification. Sensitive permissions — location, camera, contacts, all-files access — need a documented reason. Remove any permission you do not genuinely need; every one is a rejection surface.
- App access instructions. If the app has a login, provide working test credentials. Reviewers who cannot get past your login screen reject the app.
6. Testing tracks
- Internal testing — up to 100 testers, available in minutes, no review. Use this constantly during development.
- Closed testing — the track that satisfies the 12-tester requirement. Start early.
- Open testing — public beta, anyone can join. Useful for gathering scale feedback before launch.
- Production — the live listing.
Ship through internal from day one. It costs nothing and means the release pipeline is already proven by the time it matters.
7. Submit
- Select countries and regions. Worldwide is the default; restrict only for a deliberate reason.
- Set pricing — free or paid. A free app can never be switched to paid. You can go paid to free, never the reverse.
- Use a staged rollout for the first production release. Start at 20%. If crash rates spike, halt before it reaches everyone.
- Submit and wait. First reviews from a new account commonly take up to seven days. Later updates are often a day or two.
8. After you are live
Publication is the start of the work, not the end.
- Watch Android vitals in the console. Crash rate and ANR rate above Google's thresholds get your app demoted in search and eventually flagged.
- Wire up Crashlytics and actually read it.
- Reply to reviews. Response rate influences perception, and a fixed one-star review is often revised upward if you tell the person you fixed it.
- Diarise the annual target SDK deadline. Google raises the requirement every year and apps that miss it stop being discoverable to new users, then get delisted.
- Iterate the listing. Change the icon, the short description, the first screenshot — one at a time — and watch the conversion rate in the console. This is the cheapest install growth available to you.
The five rejections I see most
- Data safety form does not match app behaviour. Usually a forgotten SDK.
- Missing or unreachable privacy policy. A dead link counts as missing.
- Sensitive permission with no justification. Especially background location and all-files access.
- Reviewer could not access the app. No test credentials for a login-gated app.
- Metadata policy violation. Keyword-stuffed titles, competitor names in the description, or "#1" and "best" claims you cannot support.
All five are fixable in under an hour — but each one costs another review cycle, and review cycles are measured in days.
If your app is stuck in review, has been rejected, or you would rather hand the whole publishing process to someone who has done it a dozen times, that is a service I offer. Send me the details — including the rejection email if you have one.
Frequently asked questions
How much does a Google Play developer account cost?
A one-time 25 USD registration fee. There is no recurring charge, unlike Apple's annual fee.
How long does Google Play review take?
First submissions from a new developer account commonly take up to seven days. Later updates to an established app are often reviewed within a day or two, though there is no guarantee.
What is the most common reason a first app is rejected?
An incorrect or incomplete Data safety form. It is a declaration you fill in yourself, and it must match what your app and its SDKs actually do. Mismatches between the form and observed behaviour are a very common rejection.
Do I need a privacy policy for my app?
Effectively yes. Any app that handles personal or sensitive user data must link to a privacy policy, and apps targeting children need one regardless. Since almost every app collects something, publish one and link it in the Play Console.
Should I upload an APK or an AAB?
An Android App Bundle (.aab). Google Play has required the AAB format for new apps since August 2021. Play generates optimised APKs per device from the bundle, which reduces download size.