> For the complete documentation index, see [llms.txt](https://docs.amply.tools/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.amply.tools/developer-guide/installation.md).

# Installation

How to add Amply to your mobile app. One dependency, three platforms — pick the tab that matches your stack.

Installing Amply means adding a single package to your build config, then calling the SDK from your app's entry point. This page only covers the dependency step. Go to the platform-specific Quickstart once the package resolves.

{% hint style="info" %}
**Two ways to integrate Amply.** This guide is the **by-hand** path. The other is [**AI-assisted integration**](/getting-started/ai-assisted-integration.md): connect the Amply MCP and the `amply-integration` skill to your AI coding assistant (Claude Code or Codex CLI) and it installs the SDK, forwards the events Amply needs for targeting, and hands you a reviewable diff — the same result as the steps below, in one pass.
{% endhint %}

## Current versions

Other pages in this guide reference "the current version" — the table below is the single source of truth. When a new SDK ships, only this page needs updating.

| Package           | Version |
| ----------------- | ------- |
| iOS / Android SDK | `0.5.0` |
| React Native SDK  | `0.5.0` |

## Requirements

| Platform     | Minimum OS             | Other                                               |
| ------------ | ---------------------- | --------------------------------------------------- |
| iOS SDK      | iOS 14.0               | Xcode 15+, Swift 5.9+                               |
| Android SDK  | Android 5.0 (API 21)   | Kotlin 1.9+, AGP 8.0+                               |
| React Native | RN 0.79+, Expo SDK 54+ | iOS 14+ / Android API 24+, New Architecture enabled |

## Credentials

You need three values from the Amply dashboard before the SDK will run:

* `appId` — your app's identifier (e.g., `com.acme.app`)
* `apiKeyPublic` — short key used to identify your app
* `apiKeySecret` — longer key used to sign requests

Open the Amply dashboard, go to **Settings → API Keys**, and copy them into the config shown in the Quickstarts.

## Install

{% tabs %}
{% tab title="iOS (Swift)" %}

### CocoaPods

Add to your `Podfile`:

```ruby
pod 'AmplySDK', '~> 0.5.0'
```

Then install:

```bash
pod install
```

Open the generated `.xcworkspace` in Xcode.

### Swift Package Manager

In Xcode: **File → Add Package Dependencies…** and enter:

```
https://github.com/amply-tools/amply-sdk-ios
```

Pick the version rule (recommended: *Up to Next Major Version* from `0.5.0`) and add `AmplySDK` to your target.

Or declare it in `Package.swift`:

```swift
dependencies: [
    .package(url: "https://github.com/amply-tools/amply-sdk-ios", from: "0.5.0")
]
```

### Info.plist

No mandatory entries. If you plan to read the advertising identifier (IDFA) for attribution, add `NSUserTrackingUsageDescription` to `Info.plist` and call the App Tracking Transparency prompt yourself — the SDK will pick up the resulting status.

Continue with the [iOS Quickstart](/developer-guide/quickstart-ios.md) to wire the SDK into your `AppDelegate`.
{% endtab %}

{% tab title="Android (Kotlin)" %}

### Gradle (Kotlin DSL)

Add to your app module's `build.gradle.kts`:

```kotlin
dependencies {
    implementation("tools.amply:sdk-android:0.5.0")
}
```

### Gradle (Groovy)

```groovy
dependencies {
    implementation 'tools.amply:sdk-android:0.5.0'
}
```

### Repositories

The SDK ships to Maven Central. If your `settings.gradle.kts` already lists `mavenCentral()` (the default for new Android projects) you don't need to change anything:

```kotlin
dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
    }
}
```

### Permissions

No permissions are required to initialize the SDK. `INTERNET` (already granted by default) is used to send events. If you want to collect the Google advertising ID for attribution, add:

```xml
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
```

Continue with the [Android Quickstart](/developer-guide/quickstart-android.md) to wire the SDK into your `Application` class.
{% endtab %}

{% tab title="React Native" %}

### npm / yarn

```bash
yarn add @amplytools/react-native-amply-sdk
```

or

```bash
npm install @amplytools/react-native-amply-sdk
```

### Expo

Amply ships an Expo config plugin. Add it to `app.json`:

```json
{
  "expo": {
    "plugins": ["@amplytools/react-native-amply-sdk"]
  }
}
```

Then run a prebuild so the native modules link:

```bash
npx expo prebuild
```

### Bare React Native

Autolinking picks up the module after `yarn install`. On iOS you also need to install the pod:

```bash
cd ios && pod install
```

No extra Gradle config is required on Android.

See the [Requirements](#requirements) table above for minimum versions.

Continue with the [React Native Quickstart](/developer-guide/quickstart-react-native.md) to initialize the SDK in your root component.
{% endtab %}
{% endtabs %}

## Related

* [iOS Quickstart](/developer-guide/quickstart-ios.md) — first tracked event from a Swift app
* [Android Quickstart](/developer-guide/quickstart-android.md) — first tracked event from a Kotlin app
* [React Native Quickstart](/developer-guide/quickstart-react-native.md) — first tracked event from TypeScript
* [iOS integration](/developer-guide/ios-integration.md) — deep links, session lifecycle, custom properties
* [Android integration](/developer-guide/android-integration.md) — deep links, custom properties, log levels
* [React Native integration](/developer-guide/react-native-integration.md) — listeners, snapshots, Expo specifics
