Cryptocurrency Tracker docs
v2.0.0
Live demoConsole demo Get help
● Monetise · Ads

Ads
four networks, every placement off.

AdMob, AppLovin MAX, Unity Ads and ironSource LevelPlay, as one network or a waterfall per format. Ads are off until you switch them on, and hidden for Pro users and after Remove ads.

Off by defaultWaterfall per formatGoogle UMP consent

01Networks and formats

NetworkFormats in this appIds the app needs
Google AdMobBanner, interstitial, rewarded, native, app openAndroid and iOS app id, unit ids
AppLovin MAXBanner, interstitial, rewarded, native, app openSDK key, unit ids
Unity AdsBanner, interstitial, rewardedAndroid and iOS game id, placement ids
ironSource LevelPlayBanner, interstitial, rewardedAndroid and iOS app key, ad unit ids

Each network needs a publisher account, which reviews your app and pays you under its own terms. Ad income depends entirely on your traffic, countries and the network; these docs do not estimate it.

02Placements

Console → Ads. Every placement is off by default.

PlacementDefaultNotes
Show ads (master switch)OffNothing shows while this is off.
App-open adOffAt most once per hour.
Banner on the markets / coin / news screenOffThree separate switches.
Native ad after every n coins0 (off)0–100. A native ad row inside the markets list.
Native ad after every n news items0 (off)0–100.
Interstitial on every n-th coin opened0 (off)0–50.
Seconds between two interstitials (minimum)12030–3600. Also spaces app-open ads.
Rewarded ad unlocks an AI coin reportOffCapped per user and day under AI summaries. See AI summaries.

Pro users and users who bought Remove ads see no ads at all (app/lib/ads/ad_policy.dart).

03One network or a waterfall

  • One network (default, AdMob): that network serves every format it supports.
  • Waterfall per format: one list per format (banner, interstitial, rewarded, native, app open), one network per line, tried in order until one fills. A network that does not have that format, an unknown name or a repeat is skipped and shown on the Status page.
applovin
admob

Example waterfall for rewarded: AppLovin MAX first, then AdMob.

04Enter your ids

The package ships test ids only

No live ad ids are included. The only ad ids in the code are Google's public AdMob test ids: the test app id ca-app-pub-3940256099942544~… in AndroidManifest.xml and Info.plist, and the test unit ids in app/lib/ads/ad_adapter.dart that debug builds use. Every id field in the console starts empty. Replace the test app ids with your own (step 3 below) before you publish; a store build with test ids earns nothing.

  1. Create the app and ad unitsIn each network's dashboard, for Android and for iOS.
  2. Paste them in the consoleUnder AdMob ids, AppLovin MAX ids, Unity Ads ids or ironSource LevelPlay ids. An empty unit in a release build means no ad of that format. Status warns when a switched-on placement has no id.
  3. AdMob app id in the native projectAdMob reads its app id from the app bundle at start, so it must also be in the code: replace Google's public test app ids in app/android/app/src/main/AndroidManifest.xml (com.google.android.gms.ads.APPLICATION_ID) and app/ios/Runner/Info.plist (GADApplicationIdentifier) with your own, then rebuild.
Test ads in debug builds

When an AdMob unit id is empty and the build is a debug build, the app uses Google's published test units, and Unity Ads runs in test mode. Release builds never use test ids: an empty id means no ad. Never click your own live ads.

06Ads in the web demo

The web demo (DEMO_MODE=true) draws simulated, clearly labelled placeholders instead of real ads, so visitors can see where each placement appears. The ad SDKs do not run on the web.

07Measuring ad revenue

Ad revenue is shown in the console only when it is measured: either pulled from the AdMob or AppLovin MAX reporting API, or entered by hand from a network payout. See Revenue centre.