Skip to main content

Installing the SDK

RevenueCat Paywalls are included as part of the RevenueCatUI package in the RevenueCat SDK. You'll need to install the RevenueCatUI package in your project to use Paywalls.

Supported SDK versionsโ€‹

RevenueCat SDKVersion required for Paywalls
purchases-ios4.26.0 and up
purchases-android7.1.0 and up
react-native-purchases-ui7.15.0 and up
purchases-flutter6.15.0 and up
purchases-kmp1.0.0 and up
๐Ÿ“˜

Within the SDKs, Paywalls are available on the following platforms:

  • iOS 15.0+
  • visionOS 1.0+
  • Mac Catalyst 15.0+
  • watchOS 8.0+
  • Android 7.0 (API level 24)

Support for macOS, tvOS, and other platforms is coming soon!

Native iOS Installationโ€‹

Using SPM:โ€‹

If you already have RevenueCat in your project:โ€‹

  1. Open your project settings and select "Package Dependencies":

Change version

  1. Double-click and make sure version is at least 4.26.0:

Configure version

  1. Open your target settings and find "Frameworks, Libraries, and Embedded Content":

Find frameworks in your target

  1. Add RevenueCatUI:

Add RevenueCatUI dependency

First time integrating the RevenueCat SDK:โ€‹

  1. Click File -> Add Packages...

  2. Search for git@github.com:RevenueCat/purchases-ios.git and make sure version is at least 4.26.0:

Adding purchases-ios dependency

  1. Add RevenueCat and RevenueCatUI SPM dependency to your project:

Add paywall

Using CocoaPods:โ€‹

Add the following to your Podfile:

pod 'RevenueCat'
pod 'RevenueCatUI'

Native Android Installationโ€‹

  1. Add RevenueCatUI:
implementation 'com.revenuecat.purchases:purchases:7.1.0'
implementation 'com.revenuecat.purchases:purchases-ui:7.1.0'
โ—๏ธ

Android paywalls is currently behind an experimental flag (ExperimentalPreviewRevenueCatUIPurchasesAPI).

It is safe to release app updates with it. We guarantee that paywalls will continue to work and any changes will always be backwards compatible.

They are stable, but migration steps may be required in the future. We'll do our best to minimize any changes you have to make.

React Native Installationโ€‹

  • Update your package.json to include react-native-purchases-ui:
{
"dependencies": {
"react-native-purchases": "7.15.0",
"react-native-purchases-ui": "7.15.0"
}
}

Flutter Installationโ€‹

  • Add purchases-ui-flutter in your pubspec.yaml:
dependencies:
purchases_flutter: 6.15.0
purchases_ui_flutter: 6.15.0
  • For Android, you need to change your MainActivity to subclass FlutterFragmentActivity instead of FlutterActivity.

Kotlin Multiplatform Installationโ€‹

Add the following Maven coordinates to your libs.versions.toml:

[versions] 
purchases-kmp = "1.1.0+13.3.0"

[libraries]
purchases-core = { module = "com.revenuecat.purchases:purchases-kmp-core", version.ref = "purchases-kmp" }
purchases-ui = { module = "com.revenuecat.purchases:purchases-kmp-ui", version.ref = "purchases-kmp" }

Then add the dependencies to the commonMain sourceset in your Compose Multiplatform module's build.gradle.kts:

kotlin {
// ...
sourceSets {
// ...
commonMain.dependencies {
// Add the purchases-kmp dependencies.
implementation(libs.purchases.core)
implementation(libs.purchases.ui)
}
}
}

Lastly, you'll need to make sure you link the PurchasesHybridCommonUI native iOS framework. If your iOS app uses Swift Package Manager, add the PurchasesHybridCommonUI library to your target in the same way you added the PurchasesHybridCommon library. If your iOS app uses CocoaPods, either update its Podfile, or update your Compose Multiplatform module's build.gradle.kts, depending on how your Multiplatform module is integrated with your iOS project.