Configure Environment Variables
To ensure AppCatalyst RN runs with all production features (Authentication, Subscriptions, Monitoring, etc.), you must provide the necessary API keys and credentials.
All environment variables are managed via the .env file located in your project’s root directory.
Edit the .env file
🚨🚨 Don’t forget to run npx expo prebuild after updating your .env file to ensure all native configurations are correctly applied. !!
🔑 Environment Variables: Complete Setup Checklist
| Key Name | Purpose | Where to Get It |
|---|---|---|
| EXPO_PUBLIC_SUPABASE_URL | Your Supabase project URL (e.g., https://<id>.supabase.co). | Supabase Dashboard → Project Settings → API |
| EXPO_PUBLIC_SUPABASE_ANON_KEY | Public key for client-side Auth and database access. | Supabase Dashboard → Project Settings → API |
| EXPO_PUBLIC_REVENUE_CAT_PUBLIC_API_KEY | Client-side key for RevenueCat subscription verification and paywalls. | RevenueCat Dashboard → Projects → API Keys |
| EXPO_PUBLIC_NODE_ENV | Defines the environment mode (development, staging, or production). | Set Manually |
| EXPO_PUBLIC_API_BASE_URL | Base URL for any custom external API endpoints. | From your external hosting provider |
| EXPO_PUBLIC_ONESIGNAL_APP_ID | Identifier for managing and sending push notifications via OneSignal. | OneSignal Dashboard → App Settings → Keys & IDs |
| EXPO_PUBLIC_POSTHOG_API_KEY | Client-side key for PostHog product analytics and event tracking. | PostHog Dashboard → Project Settings → API Keys |
| EXPO_PUBLIC_GOOGLE_IOS_CLIENT_ID | Google OAuth client ID for Google Login on iOS. | Google Cloud Console → APIs & Services → Credentials |
| EXPO_PUBLIC_APPLE_TEAM_ID | Your Apple Developer Team ID (required for Apple login). | Apple Developer Console → Membership |
| EXPO_PUBLIC_APPLE_BUNDLE_ID | Your app’s Apple Bundle Identifier (required for Apple login). | Apple Developer Console → Identifiers |
| EXPO_PUBLIC_APPLE_REDIRECT_URI | Apple login Redirect URI for Supabase setup. | Supabase Dashboard → Authentication → Providers |
| EXPO_PUBLIC_SENTRY_DSN | DSN used for client-side crash/error tracking. | |
| EXPO_PUBLIC_SENTRY_ORG | Your Sentry organization slug. | |
| EXPO_PUBLIC_SENTRY_PROJECT | Your Sentry project slug. | |
| EXPO_PUBLIC_SENTRY_URL | Sentry ingestion endpoint (SaaS or self-hosted). | |
| EXPO_PUBLIC_SENTRY_AUTH_TOKEN | Auth token used by EAS build for uploading source maps to Sentry. | |
| EXPO_PUBLIC_TWITTER_CLIENT_ID | OAuth 2.0 Client ID for the Twitter Login process. | |
| EXPO_PUBLIC_TWITTER_API_KEY | Twitter API Key for your project. | |
| EXPO_PUBLIC_TWITTER_API_SECRET | Twitter API Secret. | |
| EXPO_PUBLIC_TWITTER_BEARER_TOKEN | Bearer Token for elevated Twitter API access. | |
| DIRECT_URL | Full database URL used by Prisma for running migrations and schema updates. | Supabase Dashboard → Database → Connection Info |