---
title: "Интеграция Adapty в приложение Kotlin Multiplatform с помощью AI"
description: "Пошаговый гайд по интеграции Adapty в приложение Kotlin Multiplatform с использованием Cursor, Context7, ChatGPT, Claude и других AI-инструментов."
---

Эта страница описывает два способа интеграции Adapty в ваше Kotlin Multiplatform-приложение. Используйте навык интеграции SDK ниже для автоматизированного сквозного процесса или следуйте пошаговому руководству далее.
## Используйте навык интеграции SDK (бета) \{#use-the-sdk-integration-skill-beta\}

Навык [adapty-sdk-integration](https://github.com/adaptyteam/adapty-sdk-integration-skill) автоматизирует интеграцию от начала до конца: настройку дашборда, установку SDK, подключение пейвола и проверку на каждом этапе. Приведённое ниже пошаговое руководство — резервный вариант, если ваш инструмент не поддерживает формат Claude Skills.

**Поддерживаемые инструменты**: Claude Code, GitHub Copilot CLI, OpenAI Codex, Gemini CLI.
### Установка \{#install\}

Выберите форму для своего инструмента. Полный список — в [README скилла](https://github.com/adaptyteam/adapty-sdk-integration-skill).
- **Claude Code**: Запустите `claude plugin marketplace add adaptyteam/adapty-sdk-integration-skill`, затем `claude plugin install adapty-sdk-integration@adapty` из командной строки.
- **GitHub Copilot CLI**: Запустите `gh skill install adaptyteam/adapty-sdk-integration-skill`.
- **Gemini CLI**: Запустите `gemini skills install https://github.com/adaptyteam/adapty-sdk-integration-skill`.
- **OpenAI Codex или любой другой инструмент**: Склонируйте репозиторий и скопируйте `plugins/adapty-sdk-integration/skills/adapty-sdk-integration/` в директорию skills вашего инструмента.
### Запуск \{#run\}

В своём проекте выполните `/adapty-sdk-integration`. Скилл определит вашу платформу и задаст несколько вопросов по настройке. Затем он последовательно проведёт вас через настройку дашборда, установку SDK, пейвол и проверку — загружая нужную документацию Adapty на каждом этапе.

:::note
Скилл находится в бета-версии. Если он зависнет или поведёт себя неожиданно, ручное руководство ниже охватывает каждый этап шаг за шагом.
:::
## Перед началом: настройка дашборда \{#before-you-start-dashboard-setup\}

Adapty требует предварительной настройки дашборда до написания кода SDK. Это можно сделать с помощью интерактивного LLM-навыка или вручную через дашборд.
### Подход с навыком (рекомендуется) \{#skill-approach-recommended\}

Навык Adapty CLI позволяет вашей LLM настраивать приложение, продукты, уровни доступа, пейволы и плейсменты напрямую — без необходимости открывать дашборд на каждом шаге. Вам нужно только [подключить сторы](integrate-payments) в дашборде.

```
npx skills add adaptyteam/adapty-cli --skill adapty-cli
```

После добавления навыка запустите `/adapty-cli` в вашем агенте. Он проведёт вас через каждый шаг — включая момент, когда нужно открыть дашборд для подключения сторов.
### Подход через дашборд \{#dashboard-approach\}

Если вы предпочитаете настраивать всё вручную, вот что нужно сделать до написания кода. LLM не может получить значения из дашборда за вас — их нужно предоставить самостоятельно.

1. **Подключите сторы**: В дашборде Adapty перейдите в **App settings → General**. Подключите App Store и Google Play, если ваше KMP-приложение работает на обеих платформах. Это обязательно для работы покупок.
   [Подключить сторы](integrate-payments)
2. **Скопируйте публичный SDK-ключ**: В дашборде Adapty перейдите в **App settings → General** и найдите раздел **API keys**. В коде это строка, которую вы передаёте в конфигурационный билдер Adapty.

3. **Создайте хотя бы один продукт**: В дашборде Adapty перейдите на страницу **Products**. Ссылаться на продукты напрямую в коде не нужно — Adapty передаёт их через пейволы.
   [Добавить продукты](quickstart-products)
4. **Создайте пейвол и плейсмент**: В дашборде Adapty создайте пейвол на странице **Paywalls**, затем назначьте его на плейсмент на странице **Placements**. В коде идентификатор плейсмента — это строка, которую вы передаёте в `Adapty.getPaywall("YOUR_PLACEMENT_ID")`.
   [Создать пейвол](quickstart-paywalls)
5. **Настройте уровни доступа**: В дашборде Adapty настройте их для каждого продукта на странице **Products**. В коде проверяется строка `profile.accessLevels["premium"]?.isActive`. Уровень доступа `premium` по умолчанию подходит для большинства приложений. Если платящие пользователи получают доступ к разным функциям в зависимости от продукта (например, план `basic` и план `pro`), [создайте дополнительные уровни доступа](assigning-access-level-to-a-product) до начала разработки.
:::tip
Как только у вас есть все пять — можно писать код. Скажите своему LLM: «Мой публичный SDK-ключ — X, ID плейсмента — Y», чтобы он сгенерировал корректный код инициализации и получения пейвола.
:::
### Настройте по мере готовности \{#set-up-when-ready\}

Это не обязательно для начала разработки, но пригодится по мере развития интеграции:

- **A/B-тесты**: Настраиваются на странице **Placements**. Изменения в коде не нужны.
  [A/B-тесты](ab-tests)
- **Дополнительные пейволы и плейсменты**: Добавьте больше вызовов `getPaywall` с разными идентификаторами плейсментов.
- **Интеграции аналитики**: Настраиваются на странице **Integrations**. Процесс настройки зависит от конкретной интеграции. См. [интеграции аналитики](analytics-integration) и [интеграции атрибуции](attribution-integration).
## Передайте документацию Adapty вашему LLM \{#feed-adapty-docs-to-your-llm\}
### Используйте Context7 (рекомендуется)

[Context7](https://context7.com) — это MCP-сервер, который даёт вашей LLM прямой доступ к актуальной документации Adapty. LLM автоматически находит нужные доки на основе вашего запроса — не нужно вручную вставлять URL.

Context7 работает с **Cursor**, **Claude Code**, **Windsurf** и другими MCP-совместимыми инструментами. Для настройки запустите:

```
npx ctx7 setup
```

Команда определит ваш редактор и настроит сервер Context7. Для ручной настройки смотрите [репозиторий Context7 на GitHub](https://github.com/upstash/context7).
После настройки ссылайтесь на библиотеку Adapty в своих промптах:

```
Use the adaptyteam/adapty-docs library to look up how to install the Kotlin Multiplatform SDK
```

:::warning
Несмотря на то что Context7 избавляет от необходимости вручную вставлять ссылки на документацию, порядок реализации важен. Следуйте [пошаговому руководству](#implementation-walkthrough) ниже строго по шагам, чтобы всё работало корректно.
:::
### Используйте документацию в формате обычного текста \{#use-plain-text-docs\}

Любую страницу документации Adapty можно открыть в виде обычного текста Markdown. Просто добавьте `.md` в конец URL или нажмите **Copy for LLM** под заголовком статьи. Например: [adapty-cursor-kmp.md](https://adapty.io/docs/ru/adapty-cursor-kmp.md).

Каждый шаг [пошагового руководства по интеграции](#implementation-walkthrough) ниже содержит блок «Отправьте это в свой LLM» со ссылками `.md` для вставки.

Чтобы получить сразу больше документации, смотрите [индексные файлы и платформо-зависимые подборки](#plain-text-doc-index-files) ниже.
## Пошаговая реализация \{#implementation-walkthrough\}

Оставшаяся часть гайда проведёт вас через интеграцию Adapty в порядке реализации. Каждый этап включает документацию для передачи вашей LLM, ожидаемый результат и типичные проблемы.
### Планирование интеграции \{#plan-your-integration\}

Прежде чем приступать к написанию кода, попросите LLM проанализировать ваш проект и составить план реализации. Если ваш AI-инструмент поддерживает режим планирования (как, например, в Cursor или Claude Code), используйте его — так LLM сможет изучить структуру вашего проекта и документацию Adapty до того, как начнёт писать код.

Сообщите LLM, какой подход к покупкам вы используете — от этого зависит, какие гайды ей следует применять:
- [**Adapty Paywall Builder**](adapty-paywall-builder): Вы создаёте пейволы в no-code конструкторе Adapty, а SDK отображает их автоматически.
- [**Пейволы, созданные вручную**](kmp-making-purchases): Вы строите собственный интерфейс пейвола в коде, но используете Adapty для получения продуктов и обработки покупок.
- [**Режим Observer**](observer-vs-full-mode): Вы сохраняете существующую инфраструктуру покупок и используете Adapty только для аналитики и интеграций.

Не знаете, что выбрать? Прочитайте [таблицу сравнения в quickstart](kmp-quickstart-paywalls).
### Установка и настройка SDK \{#install-and-configure-the-sdk\}

Добавьте зависимость Adapty SDK через Gradle и активируйте её с помощью вашего публичного ключа SDK. Это основа — без неё ничего не работает.

**Гайд:** [Установка и настройка Adapty SDK](sdk-installation-kotlin-multiplatform)

Отправьте это в ваш LLM:
```
Read these Adapty docs before writing code:
- https://adapty.io/docs/ru/sdk-installation-kotlin-multiplatform.md
```
:::tip[Checkpoint]
- **Ожидаемый результат:** Приложение собирается и запускается. Logcat (Android) или консоль Xcode (iOS) показывает лог активации Adapty.
- **Частая проблема:** «Public API key is missing» → убедитесь, что вы заменили заглушку на настоящий ключ из **App settings**.
:::
### Показывайте пейволы и обрабатывайте покупки \{#show-paywalls-and-handle-purchases\}

Получите пейвол по ID плейсмента, отобразите его и обрабатывайте события покупок. Нужные вам гайды зависят от того, как вы обрабатываете покупки.

Проверяйте каждую покупку в песочнице по ходу работы — не откладывайте на конец. Инструкции по настройке см. в разделе [Тестирование покупок в песочнице](test-purchases-in-sandbox).

<Tabs groupId="paywall-approach">

<TabItem value="builder" label="Paywall Builder" default>
**Гайды:**
- [Включение покупок с помощью пейволов (quickstart)](kmp-quickstart-paywalls)
- [Получение пейволов Paywall Builder и их конфигурации](kmp-get-pb-paywalls)
- [Отображение пейволов](kmp-present-paywalls)
- [Обработка событий пейвола](kmp-handling-events)
- [Реакция на действия кнопок](kmp-handle-paywall-actions)
Read these Adapty docs before writing code:
- https://adapty.io/docs/ru/kmp-quickstart-paywalls.md
- https://adapty.io/docs/ru/kmp-get-pb-paywalls.md
- https://adapty.io/docs/ru/kmp-present-paywalls.md
- https://adapty.io/docs/ru/kmp-handling-events.md
- https://adapty.io/docs/ru/kmp-handle-paywall-actions.md
:::tip[Checkpoint]
- **Ожидаемый результат:** Пейвол отображается с настроенными продуктами. Нажатие на продукт вызывает диалог покупки в песочнице.
- **Частая ошибка:** Пустой пейвол или ошибка `getPaywall` → убедитесь, что ID плейсмента точно совпадает с указанным в дашборде и для плейсмента задана аудитория.
:::

</TabItem>

<TabItem value="manual" label="Ручные пейволы">
**Гайды:**
- [Включить покупки в вашем кастомном пейволе (quickstart)](kmp-quickstart-manual)
- [Получить пейволы и продукты](fetch-paywalls-and-products-kmp)
- [Отобразить пейвол, созданный через Remote Config](present-remote-config-paywalls-kmp)
- [Совершить покупки](kmp-making-purchases)
- [Восстановить покупки](kmp-restore-purchase)
Read these Adapty docs before writing code:
- https://adapty.io/docs/ru/kmp-quickstart-manual.md
- https://adapty.io/docs/ru/fetch-paywalls-and-products-kmp.md
- https://adapty.io/docs/ru/present-remote-config-paywalls-kmp.md
- https://adapty.io/docs/ru/kmp-making-purchases.md
- https://adapty.io/docs/ru/kmp-restore-purchase.md
:::tip[Checkpoint]
- **Ожидаемый результат:** Ваш кастомный пейвол отображает продукты, полученные из Adapty. Нажатие на продукт вызывает диалог покупки в песочнице.
- **Возможная проблема:** Пустой массив продуктов → убедитесь, что продукты назначены пейволу в дашборде и у плейсмента есть аудитория.
:::

</TabItem>

<TabItem value="observer" label="Observer mode">

**Гайды:**
- [Обзор Observer mode](observer-vs-full-mode)
- [Реализация Observer mode](implement-observer-mode-kmp)
- [Передача транзакций в Observer mode](report-transactions-observer-mode-kmp)

:::tip[Контрольная точка]
- **Ожидаемый результат:** После покупки в песочнице через существующий покупной флоу транзакция появляется в **Event Feed** дашборда Adapty.
- **Частая проблема:** Нет событий → проверьте, что вы передаёте транзакции в Adapty и серверные уведомления настроены для обоих сторов.
:::

</TabItem>

</Tabs>
### Проверка статуса подписки \{#check-subscription-status\}

После покупки проверьте профиль пользователя на наличие активного уровня доступа, чтобы открыть доступ к премиум-контенту.

**Гайд:** [Проверка статуса подписки](kmp-check-subscription-status)

Отправьте это в свой LLM:
```
Read these Adapty docs before writing code:
- https://adapty.io/docs/ru/kmp-check-subscription-status.md
```

:::tip[Контрольная точка]
- **Ожидаемый результат:** После покупки в песочнице `profile.accessLevels["premium"]?.isActive` возвращает `true`.
- **Возможная проблема:** Пустой `accessLevels` после покупки → проверьте, что продукту назначен уровень доступа в дашборде.
:::
### Идентификация пользователей \{#identify-users\}

Привяжите аккаунты пользователей вашего приложения к профилям Adapty, чтобы покупки сохранялись на всех устройствах.

:::important
Пропустите этот шаг, если в вашем приложении нет аутентификации.
:::

**Гайд:** [Идентификация пользователей](kmp-quickstart-identify)

Отправьте это в ваш LLM:
```
Read these Adapty docs before writing code:
- https://adapty.io/docs/ru/kmp-quickstart-identify.md
```
:::tip[Checkpoint]
- **Ожидается:** После вызова `Adapty.identify("your-user-id")` в разделе **Profiles** дашборда отображается ваш пользовательский ID.
- **Важно:** Вызывайте `identify` после активации, но до получения пейволов — иначе покупки могут атрибутироваться анонимному профилю.
:::
### Подготовка к релизу

Когда интеграция заработает в песочнице, пройдитесь по чеклисту релиза и убедитесь, что всё готово к продакшену.

**Гайд:** [Чеклист релиза](release-checklist)

Отправьте это в свой LLM:
```
Read these Adapty docs before releasing:
- https://adapty.io/docs/ru/release-checklist.md
```
:::tip[Checkpoint]
- **Ожидаемый результат:** Все пункты чеклиста подтверждены: подключение сторов, серверные уведомления, процесс покупки, проверки уровня доступа и требования конфиденциальности.
- **Частая ошибка:** Отсутствуют серверные уведомления → настройте App Store Server Notifications в **App settings → iOS SDK** и Google Play Real-Time Developer Notifications в **App settings → Android SDK**.
:::
## Индексные файлы в виде простого текста \{#plain-text-doc-index-files\}

Если вам нужно дать вашему LLM более широкий контекст помимо отдельных страниц, мы размещаем индексные файлы, которые перечисляют или объединяют всю документацию Adapty:
- [`llms.txt`](https://adapty.io/docs/ru/llms.txt): Список всех страниц со ссылками `.md`. [Развивающийся стандарт](https://llmstxt.org/) для обеспечения доступности сайтов для LLM. Обратите внимание, что для некоторых ИИ-агентов (например, ChatGPT) потребуется скачать `llms.txt` и загрузить файл в чат.
- [`llms-full.txt`](https://adapty.io/docs/ru/llms-full.txt): Вся документация Adapty, объединённая в один файл. Очень большой — используйте только когда нужна полная картина.
- Файлы для Kotlin Multiplatform: [`kmp-llms.txt`](https://adapty.io/docs/ru/kmp-llms.txt) и [`kmp-llms-full.txt`](https://adapty.io/docs/ru/kmp-llms-full.txt): Подмножества документации для конкретной платформы, которые позволяют сэкономить токены по сравнению с полным сайтом.