Maps to: SYSTEM.md Phase 6 (monetization) Goal: leave this lesson understanding how apps make money — and the one real cost decision that comes with actually implementing it.
Not everyone implements this for real
Per 04-workflow-course-overview.md Module 6: not everyone in this course will wire up real ads or purchases. This lesson covers the concepts everyone needs, and an optional hands-on section for anyone who wants to go further.
Three ways apps make money
- Ads — the app is free, ads show between natural breaks (not mid-task). Revenue is small per user but scales with usage.
- In-app purchases (IAP) — a one-time purchase unlocks something (e.g. "remove ads," extra themes).
- Subscriptions — ongoing access to a feature, billed monthly/yearly (e.g. "Pro" tier with cloud backup).
For the Habit Tracker: a natural fit is a one-time "Remove Ads" IAP, or a small banner ad on the home screen. Pricing/paywall decisions come before code — this system's pricing and paywalls skills (shared with the native system, see 05-skills-reference.md Part 3) exist specifically so you design the business decision on paper before touching an SDK.
The one real decision point: cost timing
This is stated identically in SYSTEM.md, the monetization skill, and 06-tools-and-signups-guide.md — worth internalizing precisely, because it's not what you'd assume:
The moment you install
react-native-google-mobile-ads(ads) orreact-native-purchases(RevenueCat, for IAP/subscriptions), your app needs a "dev build" instead of Expo Go — because Expo Go can only load Expo's own built-in modules, not community native modules. A dev build requires the Apple Developer Program ($99/yr) to already be active — not something you can defer until you're ready to submit to the App Store. If you're not ready to pay that yet, your app can stay ads/IAP-free indefinitely and still be a complete, demoable app.
This is a real decision, not a technicality: adding monetization to a course project means opting into a $99/yr cost right now, for a class project that may never actually publish.
Optional hands-on: wire up "Remove Ads" for the Habit Tracker
If you (or your instructor) have Apple Developer Program active, this system's monetization skill (skills/local/monetization/SKILL.md) has the exact ordering rule: decide pricing → design the paywall → then implement. Ask Claude Code:
I have Apple Developer Program active. Use the monetization skill to add a "Remove Ads" one-time purchase to HabitTracker via RevenueCat, and a small banner ad on the home screen via react-native-google-mobile-ads. Use test IDs, not production ones, during development.
Claude Code will install react-native-purchases and react-native-google-mobile-ads, add the AdMob config plugin to app.json's plugins array (the one moment Lesson 2 told you to leave that array alone until now), and you'll need to rebuild with a dev-client build (Lesson 8 covers this) instead of scanning the same Expo Go QR code.
Deliverable
A one-line answer — "how would this app make money, if it did?" — the exact deliverable 04-workflow-course-overview.md Module 6 asks for. If you did the optional hands-on section, you also have a working "Remove Ads" purchase and test ads.
Apply to your own idea
Answer the same one-line question for your own app. If you want to go further, walk through the same optional hands-on section — but only after confirming Apple Developer Program is active, per the cost-timing rule above.