---
id: "tools/paywalls-legacy/installation"
title: "Installing the SDK"
description: "These docs refer to our legacy paywalls."
permalink: "/docs/tools/paywalls-legacy/installation"
slug: "docs/tools/paywalls-legacy/installation"
version: "current"
original_source: "docs/tools/paywalls-legacy/installation.mdx"
---

> **AI agents:** This is the Markdown version of a RevenueCat documentation page. For the complete documentation index, see [llms.txt](https://www.revenuecat.com/docs/llms.txt).

:::warning\[Legacy Paywalls]
These docs refer to our legacy paywalls.

To learn more about our new paywall builder, [click here](https://www.revenuecat.com/docs/tools/paywalls).
:::

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 SDK           | Version required for Paywalls |
| :----------------------- | :--------------------------------------------- |
| purchases-ios             | 4.26.0 and up                 |
| purchases-android         | 7.1.0 and up                  |
| react-native-purchases-ui | 7.15.0 and up                 |
| purchases-flutter         | 6.15.0 and up                 |
| purchases-kmp             | 1.0.0 and up                  |
| purchases-unity           | Not supported                 |
| cordova-plugin-purchases  | Not supported                 |
| purchases-capacitor       | Not supported                 |

:::info
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

[![Release](https://img.shields.io/github/release/RevenueCat/purchases-ios.svg?filter=!*beta*\&style=flat)](https://github.com/RevenueCat/purchases-ios/releases)

### Using SPM:

#### If you already have `RevenueCat` in your project:

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

![Change version](https://github.com/RevenueCat/purchases-ios/assets/685609/d317fd33-8270-4d9b-9b38-8f5f14342b04)

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

![Configure version](https://github.com/RevenueCat/purchases-ios/assets/685609/f537a1e1-a1ab-4e6f-986c-05abdcf1dd9f)

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

![Find frameworks in your target](https://github.com/RevenueCat/purchases-ios/assets/685609/af078e9a-4b98-42c6-8ca7-6f79aebdf3e0)

4. Add `RevenueCatUI`:

![Add RevenueCatUI dependency](https://github.com/RevenueCat/purchases-ios/assets/685609/c2a3498c-b80d-405c-bdf6-75de927ea58e)

#### 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](https://github.com/RevenueCat/purchases-ios/assets/685609/18291043-5710-4944-ba12-7d6d83bde240)

3. Add `RevenueCat` and `RevenueCatUI` SPM dependency to your project:

![Add paywall](https://www.revenuecat.com/docs_images/customer-center/9140485-Screenshot_2023-08-04_at_12.08.07_78343500e565bc1fd0fceaac72486876.png)

### Using CocoaPods:

Add the following to your `Podfile`:

```ruby
pod 'RevenueCat'
pod 'RevenueCatUI'
```

## Native Android Installation

[![Release](https://img.shields.io/github/release/RevenueCat/purchases-android.svg?filter=!*beta*\&style=flat)](https://github.com/RevenueCat/purchases-android/releases)

1. Add `RevenueCatUI`:

```groovy build.gradle
implementation 'com.revenuecat.purchases:purchases:<latest version>'
implementation 'com.revenuecat.purchases:purchases-ui:<latest version>'
```

## React Native Installation

[![Release](https://img.shields.io/github/release/RevenueCat/react-native-purchases.svg?filter=!*beta*\&style=flat)](https://github.com/RevenueCat/react-native-purchases/releases)

- Update your `package.json` to include `react-native-purchases-ui`:

```json
{
  "dependencies": {
    "react-native-purchases": "<latest version>",
    "react-native-purchases-ui": "<latest version>"
  }
}
```

## Flutter Installation

[![Release](https://img.shields.io/github/release/RevenueCat/purchases-flutter.svg?filter=!*beta*\&style=flat)](https://github.com/RevenueCat/purchases-flutter/releases)

- Add `purchases-ui-flutter` in your `pubspec.yaml`:

```yaml
dependencies:
  purchases_flutter: <latest version>
  purchases_ui_flutter: <latest version>
```

- For Android, you need to change your `MainActivity` to subclass `FlutterFragmentActivity` instead of `FlutterActivity`.

```MainActivity.kt
package com.your.package.name

import io.flutter.embedding.android.FlutterFragmentActivity

class MainActivity: FlutterFragmentActivity()
```

## Kotlin Multiplatform Installation

[![Release](https://img.shields.io/github/release/RevenueCat/purchases-kmp.svg?filter=!*beta*\&style=flat)](https://github.com/RevenueCat/purchases-kmp/releases)

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

```toml libs.versions.toml
[versions] 
purchases-kmp = "<latest version>"

[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 build.gradle.kts
kotlin {
    // ...
    sourceSets {
        // ...
        commonMain.dependencies {  
            // Add the purchases-kmp dependencies.
            implementation(libs.purchases.core)  
            implementation(libs.purchases.ui)  
        }
    }
}
```
