Documentation
Troubleshooting
Most setup failures come from Expo Go testing, missing offerings, entitlement mismatch, or stale Metro cache.
Common problems
Metro says transformFile is undefined
Missing Babel preset or stale cache
Install @babel/core and babel-preset-expo, then restart Metro with a clean cache.
No product price appears
No current RevenueCat offering/package
Check the offering, package, and store product setup.
Premium stays locked after purchase
Entitlement mismatch
Use the same entitlement id in the app and RevenueCat.
Firebase rules block paid users
Webhook mirror missing or wrong uid
Make RevenueCat app_user_id match Firebase Auth uid.
Purchase fails in Expo Go
Expo Go cannot run native purchases
Use npx expo run:ios or npx expo run:android.