Skip to main content

RevenueCat Integration

RevenueCat makes it easy to add in-app purchases and subscriptions to your Natively app. Handle payments, manage subscriptions, and track revenue without complex payment infrastructure.

What is RevenueCat?

RevenueCat is a subscription management platform that:
  • Handles payments - Process iOS and Android purchases
  • Manages subscriptions - Track status, renewals, cancellations
  • Syncs across platforms - One subscription works on both iOS and Android
  • Provides analytics - Revenue, churn, and subscriber metrics

Setting Up RevenueCat

1

Create RevenueCat Account

Sign up at revenuecat.com
2

Create a Project

Create a new project in RevenueCat dashboard for your app
3

Configure App Store Connect

Add your iOS app with App Store Connect credentials
4

Configure Play Console

Add your Android app with Google Play Console credentials
5

Create Products

Set up your subscription products and entitlements

Connecting to Natively

1

Open RevenueCat Settings

Click MoreRevenueCat in the project menu
2

Connect Account

Click “Connect RevenueCat” and authorize
3

Select Project

Choose your RevenueCat project
4

Connected

RevenueCat is now integrated with your app

Adding Purchases to Your App

Tell the AI what you want to sell:
Add a premium subscription with monthly ($9.99) and yearly ($79.99) options.
Show a paywall screen when users try to access premium features.
After purchase, unlock the premium features.

Common Patterns

Create a paywall screen that shows:
- List of premium features
- Monthly and yearly pricing options
- "Restore Purchases" button
- Terms and privacy links at bottom

Purchase Types

RevenueCat supports:
TypeDescriptionExample
SubscriptionRecurring paymentMonthly premium access
Non-consumableOne-time permanent purchaseRemove ads forever
ConsumableSingle-use purchasesCredits, tokens

Entitlements

Entitlements are what users get access to after purchasing:
Create a "premium" entitlement that includes:
- Unlimited projects
- AI assistance
- Priority support
- Custom themes

Both monthly and yearly subscriptions grant "premium" entitlement.

Checking Subscription Status

The AI will generate code to check if users have active subscriptions:
// Example generated code
const { customerInfo } = await Purchases.getCustomerInfo();
const isPremium = customerInfo.entitlements.active['premium'];

if (isPremium) {
  // Show premium features
} else {
  // Show paywall
}

Restore Purchases

Always include a restore option for users who:
  • Reinstall the app
  • Switch devices
  • Had billing issues
Add a "Restore Purchases" button in settings that
checks for previous purchases and restores access.

Testing Purchases

Sandbox Testing

Before going live:
  1. Use Apple/Google sandbox accounts
  2. Purchases are simulated (no real charges)
  3. Subscription periods are shortened for testing
Use a Sandbox Apple ID created in App Store Connect

RevenueCat Dashboard

Monitor purchases in the RevenueCat dashboard:
  • Active subscriptions
  • Revenue metrics
  • Customer history
  • Error logs

Best Practices

Clear Value Proposition

Show what users get before asking them to pay

Multiple Options

Offer monthly and yearly (with discount) options

Free Trial

Consider offering a free trial period

Restore Button

Always include restore purchases option

App Store Requirements

Both app stores have requirements for in-app purchases:

Apple App Store

  • Must use Apple’s IAP for digital goods
  • Clearly display pricing
  • Terms of service required
  • Auto-renewal disclosure

Google Play Store

  • Must use Google Play Billing for digital goods
  • Clear subscription terms
  • Easy cancellation access
  • Price displayed before purchase
Violating app store payment policies can result in app rejection or removal.

Troubleshooting

  • Verify RevenueCat is connected correctly
  • Check product IDs match in app and stores
  • Ensure app is properly configured in App Store Connect / Play Console
  • User must be signed into same App Store / Play Store account
  • Check sandbox vs production environment
  • Verify subscription hasn’t expired
  • Check RevenueCat dashboard for the purchase
  • Verify entitlement is linked to product
  • Check for webhook configuration issues

Resources

Next Steps