Managing subscriptions across multiple platforms is one of the more complex challenges in mobile app development. Users expect a seamless experience whether they subscribe on iOS, Android, or through the web — and your backend needs to keep up. RevenueCat is designed to handle exactly this problem, acting as the central source of truth for subscription state no matter where a purchase originates.
This tutorial walks you through the key concepts and configurations you need to enable robust cross-platform subscription sharing: from Apple Family Sharing to Google Play backwards compatibility, from unified Stripe billing views to A/B testing your paywalls across platforms.
Introduction to Cross-platform Subscription Sharing
RevenueCat provides SDKs and integrations across multiple platforms — including iOS, Android, and Amazon — to simplify the development of in-app purchases and subscriptions Source. Rather than building and maintaining separate server-side validation logic for each store, you integrate the RevenueCat SDK once per platform and let RevenueCat's backend normalize subscription data from the Apple App Store, Google Play Store, and Amazon Appstore into a unified view.
This is particularly valuable because each store uses its own receipt format, renewal logic, and webhook structure. RevenueCat abstracts away those differences and exposes a consistent API surface regardless of the originating store.
How it works at a high level:
- A user purchases a Product (e.g., "Monthly Premium").
- That purchase unlocks an Entitlement (e.g., "premium") in RevenueCat.
- Your app checks that entitlement to grant access — and the same entitlement key works across all platforms Source.
RevenueCat's backend becomes your single source of truth for subscription state, regardless of which store the subscription originated from Source. This means you can confidently check a subscriber's entitlements without needing to know or care whether they subscribed on iOS or Android.
Apple Family Sharing for Subscriptions
Apple Family Sharing allows eligible family members to share access to a subscription purchased by one family member. RevenueCat supports this feature and reflects shared entitlements automatically in the SDK Source.
How RevenueCat Handles Family Sharing
When a family member gains access to a shared subscription, Apple sends a server notification to RevenueCat. RevenueCat listens for these family-shared purchase events and updates the subscriber records for each eligible family member accordingly Source. This means the shared entitlements appear automatically in those users' customer records without any additional code on your end.
Configuration Steps
Enabling Family Sharing requires explicit opt-in per subscription product in App Store Connect — it is not enabled by default Source. Here's what you need to do:
- In App Store Connect, navigate to your subscription product.
- Enable Family Sharing for each individual subscription product you want to share.
- Ensure your app's RevenueCat SDK is up to date so it can receive and process family-shared entitlement events.
⚠️ Important: Family Sharing must be planned for during initial product configuration. Enabling it retroactively on existing subscriptions has limitations, so factor this into your product roadmap early Source.
Once configured, RevenueCat will handle the rest. Shared entitlements will surface in the SDK for each family member who has access, and your app code doesn't need to distinguish between a direct purchase and a family-shared one.
Google Play Subscription Compatibility and Cross-platform SDKs
Google updated its subscription model to support more flexible configurations, including base plans and offers. RevenueCat fully supports these new subscription setups as of purchases-android v6 and its equivalent cross-platform SDK versions Source.
Configuring Offerings for New vs. Legacy SDK Versions
In the RevenueCat dashboard, you can configure your Offerings in the Google Play app settings to target:
- Only new SDK versions (v6 and above): Gives you access to Google's updated subscription models, including base plans and offers.
- Legacy versions: Maintains compatibility with older SDK versions that do not support the new subscription setup.
This setting matters because Google's new subscription configurations are only accessible through purchases-android v6 or the equivalent cross-platform SDK version. If you serve the new Offering to a user running an older SDK, the purchase flow will break.
Backwards Compatibility Considerations
When migrating existing Google Play subscriptions to the new model, account for the following:
- Users on older app versions may still be running SDK versions below v6. Ensure your Offering configuration in RevenueCat does not serve incompatible products to these users.
- Cross-platform SDK equivalents of purchases-android v6 (e.g., React Native, Flutter, Unity) must be updated in lockstep to access Google's updated subscription models Source.
- Plan a phased rollout if you have a large existing user base on older app versions before fully migrating your Google Play products to the new subscription setup.
Viewing Cross-platform Subscription Data with the Stripe Integration
For apps that also sell subscriptions through web or Stripe-powered billing, RevenueCat offers a dedicated integration through Stripe's App Marketplace Source.
What the Integration Provides
The RevenueCat App in Stripe's App Marketplace combines Stripe's customer and billing data with RevenueCat's native cross-platform SDK data in a single dashboard view Source. This means you can see transaction events from:
- Apple App Store
- Google Play Store
- Amazon Appstore
- Stripe (web billing)
All in one place, alongside each other, without needing to switch between tools or manually reconcile data Source.
Why This Matters for Cross-platform Teams
Without a unified view, a subscriber who upgrades on web (via Stripe) and then accesses content on mobile might appear as two separate users in your analytics. The RevenueCat + Stripe integration helps your team maintain a consistent picture of subscriber activity regardless of the originating platform or payment method Source.
This is especially useful for:
- Customer support teams diagnosing subscription issues across platforms.
- Growth teams tracking conversion and churn across billing channels.
- Engineering teams detecting discrepancies in subscription state between platforms.
Optimizing Cross-platform Subscription Offerings with Experiments
Once your subscriptions are running across platforms, the next step is optimizing them. RevenueCat Experiments let you run A/B tests on subscription pricing and paywall designs, with results aggregated across all platforms Source.
How Experiments Work
You define two different Offerings and assign them to an experiment for a given paywall location in your app. RevenueCat randomly assigns users to one of the two variants and tracks the results Source. The experiment covers the full subscription lifecycle — not just the initial conversion — so you can see which variant drives more renewals, less churn, and greater overall business value Source.
Cross-platform Validity
One of the most important aspects of RevenueCat Experiments is that results are aggregated cross-platform Source. If your app is live on both iOS and Android, a single experiment covers both platforms. This means:
- You don't need to run separate experiments per platform.
- Experiment conclusions are valid across iOS, Android, and other supported platforms.
- You avoid the risk of drawing incorrect conclusions from a platform-skewed sample.
Example Use Cases
- Testing a $4.99/month vs. $6.99/month price point across both iOS and Android simultaneously.
- Comparing a feature-focused paywall design against a price-focused one.
- Evaluating annual vs. monthly billing prominence in your subscription UI.
Best Practices and Considerations for Cross-platform Subscription Sharing
Before you ship, keep these best practices in mind to ensure a smooth cross-platform subscription experience.
1. Keep SDK Versions Up to Date Across All Platforms
SDK version drift between platforms is one of the most common sources of cross-platform subscription issues. Ensure that you update RevenueCat SDKs on iOS, Android, and any cross-platform frameworks (Flutter, React Native, Unity) together — especially when Google Play subscription model changes require a minimum SDK version Source.
2. Use Entitlements to Abstract Platform-specific Identifiers
Each store uses different identifiers for products (e.g., Apple product IDs vs. Google product IDs). RevenueCat's entitlements system lets you map all of these platform-specific identifiers to a single entitlement key Source. Your app code checks the entitlement, never the store-specific product ID, which makes your access logic platform-agnostic and much easier to maintain.
3. Plan Apple Family Sharing from the Start
Enabling Apple Family Sharing retroactively on existing subscription products has limitations. Decide during product design whether a subscription should be shareable, and configure it in App Store Connect before launch Source.
4. Monitor Cross-platform Transaction Events for Discrepancies
Use integrations like the RevenueCat Stripe App to monitor transaction events across all platforms in a unified view Source. Set up alerts or regular reviews to catch cases where a subscriber's entitlement state differs unexpectedly between platforms — for example, a cancellation processed on one platform that hasn't propagated correctly.
5. Implement a Restore Purchases Flow
RevenueCat enables users to restore their in-app purchases from the same store account (Apple, Google, or Amazon) if they reinstall the app or lose access to their purchases Source. Apple requires that all apps include a restore mechanism. RevenueCat Paywalls include a built-in "Restore Purchases" button, or you can trigger the restore method programmatically Source.
Summary
RevenueCat's cross-platform architecture means you don't have to choose between supporting multiple stores and maintaining a sane codebase. By combining:
- Entitlements to unify platform-specific product identifiers,
- Apple Family Sharing support for shared household access,
- Google Play v6+ compatibility for modern subscription configurations,
- Stripe integration for a unified cross-platform and web billing view, and
- Experiments for data-driven paywall optimization across platforms,
...you can build a subscription system that works reliably for users on any platform, managed from a single backend.
For anything not covered here, refer to the RevenueCat documentation or reach out to RevenueCat Support.