docs
Getting Started
Tutorials
How-To Guides
Explanation
Reference
Help
Getting Started
Tutorials
How-To Guides
Explanation
Reference
Help

Build and Upload a Mintegral Playable Ad

Mintegral uses the Playturbo/Mindworks host API. It does not use MRAID.

Generated output

Needle creates dist/Mintegral/MyGame.zip. The ZIP contains all game resources and the Playturbo lifecycle integration.

Requirements

  • A Mintegral advertiser account
  • A registered app
  • Company and billing information
  • MMP or server attribution

Read the Mintegral campaign procedure. Configure MMP tracking. Read the Playturbo review guide.

1. Add the profile

playableAds: {
    name: "MyGame",
    platforms: [{
        platform: "mintegral",
        maxBytes: 5_000_000,
        reportPath: "artifacts/mintegral-playable-build-report.json",
    }],
}

Use only letters, numbers, and underscores in name. Needle uses the same name for three paths:

dist/Mintegral/MyGame.zip
└── MyGame/
    └── MyGame.html

See Build Playable Ads for the complete Vite configuration.

2. Add lifecycle calls

import { bindPlayableAd, getPlayableAd } from "@needle-tools/engine/playable";

const playable = getPlayableAd();
bindPlayableAd(context, playable);

await loadRequiredAssets();
playable.notifyReady?.();

function finishPlayable() {
    playable.notifyEnd?.();
}

installButton.addEventListener("click", () => playable.open());

Call notifyReady() when the game is ready. Call notifyEnd() when the game ends. Call open() from the install CTA.

Input

Support mouse and touch input. The desktop reviewer uses mouse input.

Add action points

Mintegral supports five action points.

platforms: [{
    platform: "mintegral",
    actionPoints: [
        "Started first wave",
        "Selected an upgrade",
        "Reached the boss",
    ],
}]

Call getPlayableAd().track?.(2) with the one-based action number. Needle adds action.json to the ZIP.

3. Build and test the ZIP

npm run build -- --production
  1. Extract dist/Mintegral/MyGame.zip to a temporary folder.
  2. Open MyGame/MyGame.html from the file system.
  3. Open the Playturbo reviewer.
  4. Upload the ZIP.
  5. Start and finish the game.
  6. Press the install CTA.
  7. Check each required result.

Each required result must show Test Success. Some tests start after the related game action.

4. Upload the ZIP

  1. Open Mintegral creative management.
  2. Open User Acquisition → Manage Creative → Create Set → Upload Creative Set.
  3. Upload dist/Mintegral/MyGame.zip as a playable.
  4. Select the language and regions.
  5. Select the creative set.
  6. Preview the playable.
  7. Apply the creative set to the offer.
  8. Submit the offer for review.

Creative set

Apply the creative set to an offer. An unassigned creative set does not enter review.

Test with an agent

agent-browser --session mintegral open https://www.playturbo.com/review
agent-browser --session mintegral snapshot -i -C
agent-browser --session mintegral upload @eN /absolute/path/to/dist/Mintegral/MyGame.zip
agent-browser --session mintegral wait 3000
agent-browser --session mintegral errors

Continue the game until all required tests finish.

Use the Playturbo Preview controls for orientation, QR, and device tests.

Troubleshooting

ErrorAction
Name rejectedUse the same valid name for the ZIP, folder, and HTML file.
HTML does not open from the file systemBuild the Mintegral profile. Open the HTML after ZIP extraction.
gameReady is missingCall notifyReady() after asset and scene setup.
End or CTA test does not finishComplete the game. Call notifyEnd(). Press the CTA in the reviewer.

Related pages

  • Test Playable Ads
  • Mintegral lifecycle reference
Suggest changes
Last Updated: 8/4/26, 2:47 PM

Extras

Needle AI Ask Needle AI
Copy Markdown

Navigation

  • Getting Started
  • Tutorials
  • How-To Guides
  • Explanation
  • Reference
  • Help

Extras

Needle AI Ask Needle AI
Copy Markdown