Skip to Content
๐Ÿš€ OpenGame Playable Ads SAAS โ€” AI-generated playable ads from $9/creative
๐ŸŽฎ Playable Ads SAAS๐Ÿš€ Deployment Guide

๐Ÿš€ Deployment Guide

How to deploy playable ads to major ad networks.


Overview

Each generated creative is packaged for 9 ad networks with network-specific formats. Below are the deployment instructions for each network.


Ad Network Quick Reference

NetworkFormatUpload SurfaceMax Size
AppLovin.htmlSparkLabs / MAX5 MB
Mintegral.htmlPlayturbo / Mindworks5 MB
Unity Ads.htmlUnity Ads Dashboard5 MB
IronSource.htmlLevelPlay / Supersonic5 MB
Vungle.zipVungle Dashboard5 MB
Meta.zipAds Manager5 MB
Google AdMob.zipAdMob / Campaign Manager5 MB
TikTok/Pangle.zipAds Manager โ†’ Playable Ads5 MB
Cocos CreatorSource projectCocos DashboardN/A

Deployment Steps

1. Preview & Validate

Before uploading to any network, validate your creative:

# Using the local validation tool node playable-ad-tools/validate.mjs --target=mraid dist/playable.html # TikTok-specific validation node playable-ad-tools/validate.mjs --target=tiktok tiktok/playable.tiktok.zip

Expected output: VALID: All checks passed

2. AppLovin (MAX / SparkLabs)

  1. Log into AppLovin MAX Dashboard
  2. Navigate to Creative Management โ†’ Playables
  3. Click Upload Creative
  4. Select the playable.applovin.html file
  5. Set targeting and bid settings
  6. Submit for review

Requirements:

  • Single HTML file (no ZIP)
  • Must call mraid.open() on CTA tap
  • โ‰ค 5 MB
  • Portrait + Landscape orientations

3. TikTok / Pangle

  1. Log into TikTok Ads Manager
  2. Go to Assets โ†’ Creative โ†’ Playable Ads
  3. Click Create โ†’ Upload ZIP
  4. Select the playable.tiktok.zip file
  5. Generate preview QR code for testing
  6. Set campaign objective to App Promotion

Requirements:

  • ZIP file containing index.html + config.json at root
  • Must include <script> to Pangleโ€™s Playable-sdk.js
  • Use window.openAppStore() for install โ€” NOT mraid.open()
  • No external network requests
  • โ‰ค 5 MB (recommend โ‰ค 3 MB)

4. Meta (Facebook) Audience Network

  1. Log into Meta Ads Manager
  2. Create/Edit an app install campaign
  3. Under Creative, select Playable Ad
  4. Upload the playable.meta.zip file
  5. The ZIP must contain index.html and meta-audience-network.js at root

5. Google AdMob

  1. Log into Google AdMob
  2. Go to Campaigns โ†’ Create campaign
  3. Select App install objective
  4. Under Creative, upload playable.google.zip
  5. The ZIP must contain index.html at root + Googleโ€™s wrapper files

6. Unity Ads / IronSource / Vungle / Mintegral

Each uses similar flow:

  1. Log into respective dashboard
  2. Navigate to Creative / Ad Units
  3. Upload the corresponding network file (HTML or ZIP)
  4. Set campaign parameters
  5. Submit for review

MRAID 3.0 Checklist

The factory generates MRAID 3.0 compliant ads. Verify these before submission:

  • mraid.getVersion() returns "3.0"
  • mraid.addEventListener('exposureChange', handler) registered
  • mraid.open(url) guarded with try/catch
  • clicked flag prevents double-fire on CTA
  • No console.error in first 3 seconds
  • First reward within 3 seconds of first tap
  • Persistent CTA visible throughout gameplay
  • End-card CTA with retry option
  • All assets inlined (no CDN, no fetch)
  • Bundle โ‰ค 5 MB
  • Viewport-fit cover CSS applied
  • Touch-action: none to prevent browser gestures

Local Testing

# Serve the playable locally for testing cd playable-ad-poc-12-hybrid python3 -m http.server 8080 # Open http://localhost:8080/dist/playable.html in browser # Run health audit on entire factory cd /path/to/OpenGame node playable-ad-tools/health-audit.mjs # Check project statistics node playable-ad-tools/factory-stats.mjs --prd-anchors

CI/CD Pipeline

# .github/workflows/deploy-playable.yml name: Deploy Playable Ad on: push: paths: - 'playable-ad-poc-*/**' jobs: validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: node playable-ad-tools/validate.mjs --target=mraid dist/playable.html - run: node playable-ad-tools/health-audit.mjs package: needs: validate runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: node playable-ad-tools/pack-all.mjs - uses: actions/upload-artifact@v4 with: name: network-bundles path: networks/