Ship6 min read
Review guidelines
What gets approved, every rejection reason with how to avoid it, and how updates and re-submissions work.
On this page6 sections
Every version you submit is played by a person on the Twiddle Play team before players can install it. This page tells you exactly what they check, so you can get approved the first time.
How review works#
- You upload a zip on your game's Versions tab. It becomes a new version (v1, v2, …) with the status uploaded.
- You press Submit for review. The version becomes pending.
- A reviewer installs and plays your build on a phone. They also see your upload checks, your store page, your version notes and your past versions.
- They either approve it (it goes live in the app right away) or reject it with a note saying what to fix.
The Submit for review dialog shows three checks before you send: Store page complete, SDK detected and Works offline. Only the store page one blocks you; the other two are warnings. But a reviewer will ask about them, so fix them first.
What gets approved#
A game is approved when all of these are true:
- It works. It loads, it can be played from start to finish (or for as long as it's meant to last), and it doesn't freeze, on a phone-sized screen.
- It's yours. You made it, or you have the rights to every piece of art, music and code in it.
- Only Twiddle Play ads. No other ad network, analytics or tracking.
- The content fits the age rating you picked.
- It works offline. Everything it needs is inside the zip.
- It feels finished. A clear goal, a way to win or lose, and no placeholder art.
And for a good experience (reviewers check these too):
- It stays put. It never navigates away, opens links or pops up windows. To leave, it uses
TwiddlePlay.exit()or the phone's Back button. - Fair ads. Interstitials only at natural breaks. Rewarded ads only when the player taps, and the reward is exactly what the button said. Banners only on menus and between rounds, never during play or right next to your buttons. See Ads and earnings.
- It handles pause and mute. It freezes and goes silent during ads and when the app goes to the background.
- It's made for touch. Big buttons, no hover-only controls, no keyboard needed.
Rejection reasons#
When a reviewer rejects a version, they pick one or more of these reasons, and may add their own words. You see the note on your game's page. Here's each reason exactly as you'll read it, and how to avoid it.
Broken#
Broken: the game doesn't load, freezes or can't be finished. Test it on a phone-sized screen (360×740) and resubmit.
How to avoid it:
- Play your uploaded zip with Test it, not just the copy on your computer. Absolute paths and missing files only show up there.
- Check the console for errors (the one 404 for
/sdk/v1/twiddleplay.json your own computer is the only acceptable one). - Play at 360×740 with touch. Play to a level end, and to a loss.
- Check your game continues after an ad, including when an ad call returns
{ shown: false }.
Copyrighted content#
Copyrighted content: it uses art, music, characters or a name you don't own. Replace them with your own work and resubmit.
How to avoid it:
- No characters, logos, music, sounds or names from other games, films, shows or brands. That includes look-alikes and "inspired by" names.
- Use free assets only if their license allows you to redistribute them in a game. Put the license in your zip as a
.txtfile (likeCREDITS.txt). - Make your own name. "Fruit Ninja Pro" is not yours; "Melon Splitter" can be.
External ads / trackers#
External ads or trackers: the game loads its own ad network or analytics. Only Twiddle Play ads may run, through the SDK. Remove them and resubmit.
How to avoid it:
- Remove every other ad SDK, analytics script, tracking pixel and social widget.
- Check the Works offline upload check. Every host it lists is a question the reviewer will ask.
Inappropriate#
Inappropriate content for the age rating you picked. Change the content or the rating and resubmit.
How to avoid it: pick the rating that matches your game.
| Rating | Means |
|---|---|
| All ages | Nothing scary, no violence beyond cartoon bonks. |
| 12+ | Mild fantasy violence or tense moments. |
| 16+ | Stronger violence or mature themes. No gore, nothing sexual. |
Some things are never allowed at any rating: sexual content, graphic gore, and real-money gambling.
Needs internet#
Needs internet: the game loads files from other servers, but games must work offline. Ship every file inside the zip.
How to avoid it:
- Download every library, font, image and sound into your game folder.
- No CDN scripts, no Google Fonts links, no remote level files.
- Test with Wi-Fi off: open Test it, let it load, turn off your internet, and restart the game. (Or in Chrome's developer tools, set the Network tab to Offline.)
See Offline and self-contained.
Low quality#
Low quality: it feels unfinished (placeholder art, no clear goal, or no way to win or lose). Polish it and resubmit.
How to avoid it:
- Show the goal on the first screen ("Catch 6 fireflies before time runs out").
- Make winning and losing clear, with a screen for each.
- Replace every placeholder: grey boxes, default fonts in big titles, "TODO" text, test buttons.
- Small is fine. A small, finished, polished game gets approved; a big, half-done one doesn't.
After a rejection#
- Read the note on your game's page. It says what to fix.
- Fix it, zip again, and upload. That makes a new version (a rejected version can't be submitted again).
- Test the new version, then submit it.
Updates#
Once your game is live, you ship updates the same way: upload a new zip, test it, submit it.
- Your live version stays live while the new one is waiting. If v1 is live and you submit v2, players keep getting v1 until v2 is approved.
- When v2 is approved, it becomes the live version and v1 is retired. Players who installed your game see an Update button in the app.
- When v2 is rejected, v1 simply stays live. Fix v2's problems in a v3.
- Submitting a newer version replaces an older one that's still waiting. If v2 is pending and you submit v3, v2 is marked as replaced ("Replaced by version 3.") and only v3 is reviewed.
- You can only submit a version that's newer than the live one.
Things you can change without a new version#
- The store page: title, tagline, description, category, age rating, orientation, icon and screenshots. Changes show in the store right away, without review.
- Ads on or off, in your game's Settings. Players get the change the next time they open the game. Turning ads off stops new earnings; what was already counted this month stays yours.
Anything inside the zip (code, art, sound) needs a new version and a new review.
Unpublished and suspended games#
- Unpublished is your choice. In Settings, under Visibility, you can take your game out of the store at any time. A version that was waiting for review goes back to "uploaded". To come back, Republish: a game with an approved version goes straight back into the store. While unpublished, you can't submit versions.
- Suspended is the review team's choice, for example after a serious problem or ad fraud. A suspended game disappears from the store and is removed from players' phones. You can't upload, submit or edit it. Contact support if you think it's a mistake.
The app removes unpublished and suspended games from players' phones the next time it checks for updates.