Watch And Earn docs
v3.0.0
Live demoConsole demo Get help
● Reference · Versions

Changelog
what changed, and why.

Version 3.0.0 is a complete rebuild of the existing Watch And Earn item. If you bought an earlier version, read the section for existing buyers first.

3.0.0

013.0.0: complete rebuild

A new code base: a different language (Flutter instead of native Android Java), a new backend and a new data model.

New

  • Flutter app for Android and iOS from one code base, plus a web demo mode with simulated, labelled ads.
  • Firebase backend: Cloud Functions (TypeScript, Node 22) hold every rule. Points are credited only on the server, in one transaction with a ledger row.
  • Four ad networks in one app: AdMob, AppLovin MAX, Unity Ads and ironSource LevelPlay, chosen in the console without a new build.
  • Server-side verification of every rewarded video, with each network's signature check, one-time sessions, duplicate protection, daily caps, cooldown, rate limits and fraud flags.
  • Operator console on the MIKODES Admin Kit: brand, legal, ads, economy, features, purchases and push settings; users, ledger, fraud flags, leaderboard, quizzes, tasks, offers and push pages; roles and an audit log.
  • More ways to collect points: daily streak, lucky wheel, scratch cards, quizzes, daily tasks, partner offers with signed postbacks, invite codes, levels, badges and leaderboards.
  • Optional VIP subscription and remove-ads purchase, verified with the Google Play Developer API and the App Store Server API.
  • Guest, Google and Apple sign-in with account linking, in-app account deletion, Google UMP consent, App Check, push to all users, light and dark theme.
  • Firebase emulator workflow and test suites for the app, the Functions, the security rules and the console.

Removed on purpose

  • PayPal coin redemption and every other cash-out. Paying users money for watching ads breaks the AdMob rewarded-ads policy and puts both the ad account and the store listing at risk. Users now collect points and badges only. See Policy and compliance.
  • The native Android (Java) project and its separate AdMob, AppLovin and Facebook ad variants. One Flutter project with four networks replaces them. Facebook Audience Network is not one of the four.

02For existing buyers

3.0.0 replaces the files on the same CodeCanyon item. Download it from your Downloads page like any update.

  • This is not a drop-in update. The old Android Java project cannot be upgraded in place: the language, the backend and the data model are all new. Treat 3.0.0 as a new app.
  • What you get: Android and iOS from one code base, four ad networks with server-side verification, the operator console, the mini-games and the optional VIP and remove-ads purchases described in these docs.
  • Store listing: you can publish 3.0.0 as an update of your existing Play listing if you build it with your existing application id and your existing upload key (Rebranding, Signing). Your old users' coin balances live in your old backend and are not migrated automatically.
  • If your current app pays out cash, plan the change for your users: announce that rewards become points and badges, and update your store description so it no longer promises money.

03How to apply future updates

  1. Keep your changes visiblePut the unzipped package in git before you change anything, so you can compare it with a new version.
  2. CompareUnzip the new version next to yours and compare folder by folder (app/, firebase/, admin/). admin/vendor/mikodes-admin/ is the vendored kit: replace it as a whole, never edit it.
  3. Deploy in orderFirestore rules and indexes and Functions first, then the console, then a new app build.
  4. Back up firstBack up the console's data/ folder (or Postgres) and keep the same ADMIN_SECRET_KEY.