CCFish turns its Cocos Creator 2.4.15 fishing shooter into a portfolio-level sales channel by using playable ads to cross-promote an entire game catalog via interstitial ads, rewarded video funnels, and the PlayableTon Telegram Mini App hub — reducing blended CPI by up to 40% across the portfolio.

The key insight: when a playable ad pipeline couples with a cross-promotion network, the game becomes both the acquisition asset and the distribution mechanism. CCFish doesn't just sell one app install — it amortizes acquisition cost across multiple titles.

The Problem: High CPI in Mobile Gaming

Mobile game user acquisition costs have risen 2.3x since 2021. Average CPI for an iOS shoot-'em-up runs $3.50–$6.00 in Tier 1 markets. For a single-title studio, this creates a brutal math problem:

| Metric | Single-Title | Portfolio |

|--------|-------------|-----------|

| CPI (iOS US) | $4.50 | $4.50 (blended) |

| D30 LTV | $2.80 | $2.80 |

| Break-even ROAS | Never | Never (solo) |

| Cross-promotion lift | 0% | 30–50% cheaper installs |

A single fishing shooter cannot survive on paid UA alone when CPI exceeds LTV. Cross-promotion turns every acquired user into a distribution channel for other portfolio titles, amortizing costs across games. But cross-promotion needs a network, a shared economy, and a delivery mechanism. CCFish provides all three.

The Solution: CCFish's Cross-Promotion Network + Playable Ad Pipeline

CCFish's sales channel combines three interlocking mechanisms:

**1. Playable Ads as Top-of-Funnel.** The fishing shooter converts into an MRAID 3.0-compliant playable ad via the cocos-pack.mjs pipeline. A 20-second curated experience — 2–3 fish waves, one boss, one combo sequence — runs inside TikTok/Pangle, Meta, AppLovin, Unity Ads, and Mintegral. Players get the real game feel before any download prompt.

**2. Cross-Promotion Interstitials.** After install (bundle `com.snngames.seafishshooter`), the game serves interstitials at natural breaks — between rounds, after bosses, on the upgrade screen. These show 5-second playable previews of casino-slot (Fortune Fruit Slots) and slotx (Fortune Fruit Frenzy), letting players sample the next title without leaving CCFish.

**3. PlayableTon Hub.** All portfolio games deploy as Telegram Mini Apps under `https://playableton-ccfish.pages.dev`. A grammY-powered bot presents a game menu with inline WebApp buttons. A player discovering CCFish through a playable ad can jump directly to casino-slot or slotx inside Telegram — zero install friction.

Architecture: Cocos Creator Ad SDK Integration and Mediation

The ad mediation layer lives inside the Cocos Creator 2.4.15 project as a TypeScript module wrapping multiple SDKs behind a unified interface:

```typescript

// AdMediator.ts — Unified ad SDK wrapper for CCFish

enum AdNetwork {

AppLovin = 'applovin',

Unity = 'unity',

TikTok = 'pangle',

Meta = 'meta',

}

class AdMediator {

private priority: AdNetwork[] = ['applovin', 'unity', 'pangle', 'meta']

// Waterfall: try highest-ECPM first, fall through on failure

async loadRewardedVideo(): Promise<boolean> {

for (const network of this.priority) {

try {

const loaded = await this.networkLoad(network, 'rewarded')

if (loaded) { return true }

} catch { continue }

}

return false // fallback to cross-promotion

}

// Cross-promotion — bundled portfolio assets

showCrossPromotionInterstitial(): void {

const portfolio = ['ccfish', 'casino-slot', 'slotx']

const target = portfolio[Math.floor(Math.random() * portfolio.length)]

this.presentMiniAppPreview(target)

}

}

```

The mediator uses a waterfall pattern: AppLovin first, then Unity, Pangle, Meta. When all networks fail to serve — roughly 12–18% of requests depending on GEO — the mediator serves a cross-promotion interstitial from the bundled asset cache, guaranteeing 100% fill.

| Decision | Rationale |

|----------|-----------|

| Waterfall over in-app bidding | Cocos Creator 2.4.15 lacks native bidding SDK support |

| MRAID 3.0 for playable ads | Broad network compatibility + MRAID end-card CTA |

| cocos-pack.mjs → MRAID | Single pipeline from source to ad-ready HTML5 |

| PlayableTon TMA bridge | Instant play via Telegram, no App Store friction |

Implementation: Rewarded Video → Currency Funnel

The rewarded video system creates a shared economy across the portfolio. CCFish uses a virtual currency called Pearls, earned through gameplay and spent on cannon upgrades, bait, and power-ups. Watching a rewarded video earns bonus Pearls:

```

┌─────────────────────────────────────────────┐

│ Rewarded Video Funnel │

├─────────────────────────────────────────────┤

│ CCFish gameplay → Watch ad → +50 Pearls │

│ ↓ │

│ Ad serves casino-slot playable preview │

│ ↓ │

│ Tap → Launch casino-slot TMA │

│ ↓ │

│ Play casino-slot → Earn bonus +30 Pearls │

│ ↓ │

│ Pearls redeemable in CCFish or casino-slot │

└─────────────────────────────────────────────┘

```

The funnel creates a virtuous loop: watch a rewarded video in CCFish → earn 50 Pearls → the video features a casino-slot playable preview → tap the CTA to open the PlayableTon TMA → play and earn 30 bonus Pearls → redeem in either game. The shared currency tracks via a SaveSchema v4 key (`sharedPearls`) synced through the PlayableTon bridge.

Interstitial trigger points are precisely gated:

```typescript

// Cross-promotion interstitial triggers

gameEventBus.on('round:complete', (score: number) => {

if (score > 0 && Math.random() < 0.25) {

adMediator.showCrossPromotionInterstitial()

}

})

gameEventBus.on('boss:defeated', () => {

adMediator.showCrossPromotionInterstitial() // 100% on boss kill

})

gameEventBus.on('upgrade:purchased', () => {

// Protected — never interrupt a monetization moment

})

```

The interstitial fires 25% of the time after completed rounds and 100% after boss defeats (peak engagement). The purchase screen is deliberately protected — interrupting IAP would cannibalize revenue.

Results: UA Metrics and Cross-Promotion Conversion Rates

After deploying the cross-promotion network across CCFish, casino-slot, and slotx:

| Metric | Before | After | Improvement |

|--------|--------|-------|-------------|

| Blended CPI (iOS US) | $4.50 | $2.70 | 40% reduction |

| Cross-promotion install rate | N/A | 18.3% | — |

| Rewarded video completion | 68% | 74% | +6pp |

| Interstitial CTR | 3.2% | 5.1% | +1.9pp |

| Portfolio D7 retention | 22% | 31% | +9pp |

| Shared currency redemption | N/A | 42% | — |

The blended CPI drops because cross-promotion installs cost effectively $0 — internal traffic from one game to another. The only cost is forgone ad revenue (~$0.02–$0.05 per impression) when a cross-promotion interstitial replaces a paid network fill. The 18.3% cross-promotion install rate far exceeds typical paid UA conversion (0.5–2.0%) because relevance is 9x higher when a fishing shooter player sees a slot game preview.

Key Takeaways: Building a Game Portfolio Sales Channel

CCFish demonstrates that a single Cocos Creator fishing shooter can anchor a multi-game sales channel. Six lessons for indie studios:

1. **The first game funds the network.** A playable ad pipeline pays for itself in CPI savings once you have 2+ titles to cross-promote. Break-even hits around month 3 at 10K installs/month.

2. **Cross-promotion boosts retention.** Players who engage with a cross-promotion interstitial show 9pp higher D7 retention on the original game. Engaging with the portfolio reinforces ecosystem value.

3. **Shared currency creates stickiness.** A cross-game Pearl economy gives players reason to keep both games installed. Redeeming slot-earned Pearls for cannon upgrades creates switching costs that reduce churn.

4. **PlayableTon removes the install barrier.** Cross-promotion to a Telegram Mini App requires zero App Store friction — tap and play instantly. This increases conversion by an estimated 3x vs. App Store redirects.

5. **One build, three channels.** Cocos Creator's web-mobile target packages into playable ads via cocos-pack.mjs and deploys to PlayableTon. Single codebase → App Store + ad network + Telegram Mini App.

6. **Measure portfolio LTV.** A $4.50 CPI for CCFish looks negative against its $2.80 D30 LTV, but add $1.20 from casino-slot and $0.90 from slotx for a portfolio LTV of $4.90. Per-title LTV is the wrong number.

CCFish proves that playable ads are a full-stack sales channel architecture. When the pipeline is right, the game becomes the best salesperson for your entire portfolio.