← All phases
6

Lesson 6 — Monetization Concepts

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

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) or react-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.

Prompts

Maps to: courses/react-native-course/lessons/06-monetization.md (SYSTEM.md Phase 6) Before running Prompt 1: confirm Apple Developer Program ($99/yr) is active. Installing either SDK below switches the app from Expo Go to a dev-client build, which requires enrollment already active — not deferrable to "just before submission." If enrollment isn't active, skip this phase entirely — the app is still complete and demoable without it.

Prompt 1 — Add monetization (optional, only if Apple Developer Program is active)

I have Apple Developer Program active. Use the monetization skill to add {{"Remove Ads" one-time purchase and/or a subscription — describe what you're adding}} to {{APP_NAME}} via RevenueCat, and {{ad placement, e.g. "a small banner ad on the home screen"}} via react-native-google-mobile-ads. Use test IDs, not production ones, during development.

If not doing the hands-on section

Just answer, in one line: "how would {{APP_NAME}} make money, if it did?" — that's the actual deliverable for this phase either way.

Full lesson

courses/react-native-course/lessons/06-monetization.md