# Introduction

### What is Amply

Amply is an orchestration layer for mobile applications that lets you control what users see after they open the app, based on context — without releasing a new version.

Amply sits between:

* how users enter your app (deeplinks, Custom Product Pages, campaigns),
* what you know about them (events, attributes, subscription state),
* and what you decide to show (onboarding, paywalls, screens, flows).

It does not replace your existing tools. It coordinates them.

***

### The Problem Amply Solves

Most mobile teams face the same situation:

* Different ads and Custom Product Pages promise different things
* But the app always opens the same way
* Onboarding and paywalls are generic
* Any meaningful change requires a new app release

As a result:

* conversion suffers,
* experiments are slow,
* logic becomes fragmented between code, configs, and dashboards.

This is not a delivery problem. This is a decision problem.

Amply exists to solve that.

***

### Who Amply Is For

Amply is built for teams that actively manage growth and monetization, including:

* Solo founders building and scaling mobile apps
* Small and mid-sized mobile companies
* Product managers and growth managers
* Performance marketing teams working with paid traffic

Amply is not designed primarily for developers as buyers. Developers integrate Amply, but the value is unlocked by product and growth decisions.

***

### How Amply Fits Into Your Stack

Amply works on top of your existing infrastructure:

* RevenueCat remains the source of truth for subscriptions and entitlements
* Analytics tools track events and metrics
* Your app code still owns business logic

Amply adds a missing layer:

* deciding which scenario should run for a given user,
* and triggering the right screens or actions remotely.

You do not need to replace anything to use Amply.

***

### A Simple Example

Without Amply:

* User clicks Ad A and opens the app
* The app shows the default onboarding
* Changing onboarding requires a new release

With Amply:

* User enters via CPP A and sees onboarding A
* User enters via CPP B and sees onboarding B
* All routing is configured remotely

Amply makes entry-based user journeys explicit and manageable.

***

### Core Idea: Scenarios, Not Screens

Amply is not about showing screens. It is about managing scenarios.

A scenario describes:

* when it starts,
* which users it applies to,
* what steps it includes,
* and when it ends.

Screens, deeplinks, and actions are execution details.

## Key Features

* **Cross-Platform Analytics** - Single codebase for Android and iOS event tracking
* **Session Management** - Automatic session tracking with configurable timeouts
* **Campaign Targeting** - Rule-based campaign delivery using JsonLogic
* **Deep Link Support** - Handle campaign-triggered navigation and actions
* **Rate & Review** - Built-in support for app store review prompts
* **Server Time Sync** - Accurate event timestamps synchronized with server time

## Supported Platforms

| Platform | Minimum Version | Artifact                    |
| -------- | --------------- | --------------------------- |
| Android  | API 21+         | `tools.amply:sdk-android`   |
| iOS      | 14.1+           | `tools.amply:sdk-ios-arm64` |
| KMP      | -               | `tools.amply:sdk-kmp`       |
