Ad networks
One file. Ten networks.
No rework.
Every export is compressed to the network’s size limit, wired to your store link and checked by QA before you download it.
What each export contains
Read from our export code, not copied from network docs. Networks change their rules; check their current spec before a big launch. Last checked 13 October 2026.
| Network | Max size | Package | MRAID tag | Click-out call | Notes |
|---|---|---|---|---|---|
| AppLovin | 5 MB | Single HTML file | mraid.js | mraid.open() | Starts once the ad is ready and visible. Must work in portrait and landscape. |
| Unity Ads | 5 MB | Single HTML file | mraid.js | mraid.open() | Waits for MRAID ready and viewable before the game starts. |
| ironSource / LevelPlay | 5 MB | Single HTML file | mraid.js | dapi.openStoreUrl() | Falls back to mraid.open() when dapi isn't there. |
| Meta (Facebook) | 2 MB | Single HTML file | none | FbPlayableAd.onCTAClick() | No mraid.js. Over 2 MB, the file ships as a compressed self-extracting HTML. |
| Google Ads | 5 MB | ZIP · index.html | none | ExitApi.exit() | Adds Google's exitapi.js and an ad.orientation meta for portrait and landscape. |
| TikTok / Pangle | 5 MB | ZIP · index.html + config.json | none | openAppStore() | config.json allows both orientations, English. No mraid.js. |
| Mintegral | 5 MB | ZIP · name/name.html | none | window.install() | Zip, folder and file share one name. The game calls gameEnd() on the end card. |
| Moloco | 5 MB | Single HTML file | none | FbPlayableAd.onCTAClick() | Single file, no mraid.js. |
| Liftoff / Vungle | 5 MB | ZIP · ad.html | none | postMessage("download") | Posts "complete" to the container when the game ends. |
| Generic HTML | 5 MB | Single HTML file | none | First available | Tries each network's call in turn, then window.open(). For your own hosting. |
What happens when you press Export
The same five steps for every network, in this order.
Step 01
Assets go inside
Every image, sound and 3D model the game uses is fetched and embedded in the file. Nothing loads from a server.
Step 02
Images shrink to fit
WebP, stepping from 1024 px at quality 80 down to 512 px at 50, and stopping at the first step that fits the limit.
Step 03
Libraries inlined
three.js, Matter.js and the effects library are written into the file, not linked from a CDN.
Step 04
Network bridge
The network's tags, a start gate that waits for the ad to be visible, and the click-out call for that network.
Step 05
Packed
One HTML file, a compressed self-extracting one when a single file runs over, or the ZIP layout the network expects.
What QA checks before you export
The QA agent opens every build in a headless phone browser, plays it, and checks the package against these rules. Builds that fail go back to the developer with the fix.
Size under the limit
Estimated per network: 5 MB, Meta 2 MB, with a list of what fills the file.
Click-out wired, from a tap only
openStore() is bound to the network's call. Networks reject redirects fired by a timer.
No external requests
No CDNs, web fonts or remote URLs. Everything the game needs is in the file.
Starts when it's seen
The game waits until the ad is ready and visible. Unity requires it.
Portrait and landscape
The layout responds to resize and rotation. AppLovin asks for both.
Sound starts on tap
No audio before the first touch, so nothing blares from a feed.
Questions about 10 networks
Pick a network. Get the file.
Build and play it free. Export for all ten networks on Pro or Business.