In this guide
Twenty checks, each with the reason and a way to verify it. Tick them in order; stop and fix when one fails.
Build
- Release build, not a debug run. Why: debug builds behave and perform differently. Check: install the exact file you will upload on a clean phone.
- Version number and app ID are final. Why: Google Play's help says package names are unique and permanent and cannot be deleted or reused. Check: read both in the build config and in the installed app's info screen.
- No debug screens, test buttons or placeholder text. Check: open every screen and read every label.
- Clean-install first launch works. Check: uninstall, install, open with no account and no data.
- Works on at least two real devices. Check: one recent, one older or smaller. See which Android devices to test on.
Secrets and data
- No keys or passwords in the code or in the app package. Check: follow API keys and secrets in AI-generated apps.
- Any key you have ever pasted into a prompt or chat is replaced. Why: treat it as exposed. Check: the old key no longer works.
- You know every service your app talks to. Check: list each network address and library that handles user data.
- Server rules are not "open to everyone". Why: a default setting made for a demo can let anyone read data. Check: try to read data while logged out.
Privacy and policy
- A privacy policy exists, is public and matches what the app does. Check: open the link in a browser; compare with step 8. This is not legal advice.
- The store's data declarations match the app. Why: Google Play's Data safety help says declarations must reflect the app's actual behavior, including data handled by third-party libraries and SDKs, and that a privacy policy is required. Check: compare the form with step 8 before you submit.
- Account deletion works if your app has accounts. Why: Apple (guideline 5.1.1(v)) requires in-app account deletion if the app supports account creation; Google Play asks for an in-app path plus a web link for deletion requests. Check: try both paths with a test account.
Listing
- Screenshots show the real current app. Check: compare each screenshot with the build.
- Description says what the app does and does not do. Why: a listing that promises more than the app does disappoints users. Check: ask someone to read it and tell you what they expect.
- Contact email works. Check: send a message to it.
Testers and feedback
- If you need a Google Play closed test, it is running. Check: see closed-test requirements and what counts as 14 days.
- At least one person who did not build it has used it start to finish. Check: a written report, not "it was fine".
- Known issues are written down and ranked. Check: a list with "must fix before launch" marked. See how to prioritize crash reports.
- There is a private place for users to report problems. Why: catches issues before they become public ratings.
- You will ask for reviews honestly, once, after a good moment. Reviews should come from a product people like and an honest ask, never from buying or swapping them. See buy app reviews: risks and what to do instead.
After you tick everything
Try AppReviewX to get private, structured feedback from other developers in test rounds. One feedback = 1 credit; new accounts start at 0. Store rules change, so re-check the official pages.
Related: Vibe coding hub, secrets and API keys, bugs testers find.