Mintegral wants a ZIP of 5 MB or less, where the ZIP, the assets folder and the HTML file share the same name, with every non JS and non HTML file converted to base64. All store clicks go through window.install, and the playable must call gameReady when loaded and gameEnd on win or lose, and rotate freely between portrait and landscape. Every value below is from Mintegral's Mindworks Playable Testing guideline.
What does Mintegral require for a playable?
| Spec | Mintegral requirement |
|---|---|
| Max file size | ZIP no larger than 5 MB |
| Format | ZIP containing an assets folder and an HTML file. ZIP, folder and HTML names must be identical. HTML must open locally. Non JS and non HTML files in base64. UTF-8 charset |
| MRAID version | Not published (Mintegral uses its own window hooks) |
| Orientation | Both landscape and portrait, with free rotation |
| Max duration | Not published |
| CTA / store redirect | window.install && window.install() for every store or web redirect. CTA visible throughout |
| Required callbacks | window.gameReady() after all resources load; window.gameEnd() on win or lose |
| Optional callbacks | Global gameStart() and gameClose() functions Mintegral calls; window.gameRetry() if you offer replay |
| External calls | No dynamic requests. All dependent resources stored locally in the folder |
| Analytics / events | Optional: up to five custom points described in action.json at the root, sent with window.HttpAPI.sendPoint() |
| Test tool | Mindworks Playable Test Tool. Mintegral QA usually takes 3 to 5 business days |
Source: Mindworks guideline, playable testing, which Mintegral's own playable ad guide points to. Compare with other networks on the specs hub.
How do the Mintegral hooks work?
Most networks need one click-out call. Mintegral needs a small set, and the test tool checks for them.
| Hook | Who calls it | When | Required? |
|---|---|---|---|
| window.install | Your playable | Any tap that should go to the store or a webpage | Yes |
| window.gameReady | Your playable | Once every resource has loaded | Yes |
| window.gameEnd | Your playable | At the end, on win or fail | Yes |
| gameStart | Mintegral calls your global function | At the start; start timers and music here | Expose it if you need start logic |
| gameClose | Mintegral calls your global function | At the end; stop music here | Expose it if you need end logic |
| window.gameRetry | Your playable | When the player chooses to play again | Only if replay exists |
Guard each call the way Mintegral's samples do (window.install && window.install) so the build doesn't throw when tested outside the ad container. And don't override the global console method; Mintegral warns that it can break redirect and gameClose.
The hooks are packaging, not creative work. Genie Playable adds Mintegral's window.install, gameReady and gameEnd calls in the Mintegral export, and leaves them out of your Meta or Unity builds. You keep one source.
Try GenieWhat else does Mintegral ask for?
Mintegral's Playturbo operation guide adds placement details: a creative set needs a video and an image before a playable can be added, iOS playables go only to iOS offers (same for Android), and names can't be edited after you apply them in Mintegral. Source: Mintegral creative operation guide.
Where does Playturbo fit?
Playturbo is a creative platform for playable and video ads; its site credits Mobvista, Mintegral's parent company, and Mindworks is the related creative service. It isn't required to run playables on Mintegral. Any playable that passes the Mindworks test tool can be uploaded. Playturbo's own docs list a 5 MB limit for Mintegral and say the format can be a single HTML or a ZIP with resources; the Mindworks guideline describes the ZIP rules above, so build to the stricter ZIP version. Source: Playturbo upload specs. For an honest look at network-owned tools versus other options, see our playable ad tools comparison.
QA checklist before you upload to Mintegral
Why do Mintegral playables get rejected?
| Problem | What the guideline says |
|---|---|
| Test tool flags missing APIs | Add window.install, gameReady and gameEnd |
| Names don't match or contain dashes | Letters, numbers, underscores; ZIP, folder and HTML identical |
| Over 5 MB | Compress assets, remove unused libraries. See file size guide |
| Breaks on rotation | Support both orientations with free rotation |
| Own close button or loader | Remove; Mintegral supplies them |
| Auto-redirect | Redirect only from a user tap |
Review status shows at the creative set level, and sets are reviewed only after you apply them to an offer. From experience: teams often lose a week here because the set sat unapplied. Apply it, then wait the 3 to 5 business days.
Where does Genie Playable fit?
Genie Playable builds a playable from your APK or HTML build plus the assets in Genie, from a format that's already working, or from a brief with Genie Agent, and you iterate from the last version without a developer. It exports network-ready builds for Mintegral, Meta, AppLovin, Unity Ads, Liftoff, Google Ads, TikTok Ads and Pangle. Moloco coming soon.
Not for you if Mintegral is your only network and you're happy with Playturbo's workflow, or if a studio already delivers Mintegral-ready files on time. It helps when the same concept needs to ship to several networks and each one has its own hooks. Iteration tips: iterate on a winning playable.
Get Mintegral-ready builds from one source. One playable in. A Mintegral ZIP with the right hooks out.
Try Genie