Integrations

RevenueCat

Connect in-app purchases and paywalls.

Purchases go through RevenueCat. The kit never talks to StoreKit or Play Billing directly.

Setup

  1. Create a project at RevenueCat.
  2. Add iOS and Android apps; copy the public SDK keys.
  3. Create an entitlement (for example pro) and attach products.
  4. Build a paywall and an offering in the dashboard (Paywalls v2).

In .env.local:

EXPO_PUBLIC_REVENUECAT_IOS_API_KEY=appl_...
EXPO_PUBLIC_REVENUECAT_ANDROID_API_KEY=goog_...
EXPO_PUBLIC_REVENUECAT_ENTITLEMENT_ID=pro

Enable the flag:

revenueCat: true,

How the kit uses it

  • Init: src/lib/revenuecat.ts (configureRevenueCat)
  • After Firebase login, the UID is sent to RevenueCat (loginRevenueCatUser)
  • src/contexts/subscription-context.tsx exposes isPro, showPaywall, showHotPaywall
  • Optional hot offering: EXPO_PUBLIC_HOT_OFFER_OFFERING_ID (default hot_offer)

Do not hardcode store product IDs in app code. Change products and paywall layout in the RevenueCat dashboard.

On this page