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

Эта страница описывает два способа интеграции Adapty в ваше Flutter-приложение. Воспользуйтесь навыком SDK integration ниже для автоматизированного сквозного процесса или следуйте пошаговому руководству ниже.
## Используйте навык SDK integration (бета) \{#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/` в директорию навыков вашего инструмента.
### Запуск \{#run\}

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

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

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

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

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

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

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

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

3. **Создайте хотя бы один продукт**: В дашборде Adapty перейдите на страницу **Products**. В коде продукты не указываются напрямую — Adapty передаёт их через пейволы.
   [Добавить продукты](quickstart-products)
4. **Создайте пейвол и плейсмент**: В дашборде Adapty создайте пейвол на странице **Paywalls**, затем назначьте его плейсменту на странице **Placements**. В коде идентификатор плейсмента — это строка, которую вы передаёте в `Adapty().getPaywall()`.
   [Создать пейвол](quickstart-paywalls)
5. **Настройте уровни доступа**: В дашборде Adapty настройте каждый продукт на странице **Products**. В коде проверяется строка `profile.accessLevels['premium']?.isActive`. Уровень доступа `premium` по умолчанию подходит большинству приложений. Если платящие пользователи получают доступ к разным функциям в зависимости от продукта (например, план `basic` и план `pro`), [создайте дополнительные уровни доступа](assigning-access-level-to-a-product) до начала разработки.
:::tip
Когда у вас есть все пять элементов, можно приступать к написанию кода. Скажите своему LLM: «Мой публичный SDK-ключ — X, идентификатор плейсмента — 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 автоматически подгружает нужные разделы в зависимости от вашего запроса — никакого ручного копирования ссылок.

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 Flutter SDK
```

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

Любую документацию Adapty можно открыть как обычный текст в формате Markdown. Добавьте `.md` в конец URL или нажмите **Copy for LLM** под заголовком статьи. Например: [adapty-cursor-flutter.md](https://adapty.io/docs/ru/adapty-cursor-flutter.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): Вы создаёте пейволы в конструкторе Adapty без кода, а SDK отображает их автоматически.
- [**Пейволы, созданные вручную**](flutter-making-purchases): Вы строите собственный интерфейс пейвола в коде, но по-прежнему используете Adapty для получения продуктов и обработки покупок.
- [**Режим наблюдателя**](observer-vs-full-mode): Вы сохраняете существующую инфраструктуру покупок и используете Adapty только для аналитики и интеграций.

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

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

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

Отправьте это в ваш LLM:
```
Read these Adapty docs before writing code:
- https://adapty.io/docs/ru/sdk-installation-flutter.md
```
:::tip[Checkpoint]
- **Ожидаемый результат:** Приложение собирается и запускается на iOS и Android. В отладочной консоли отображается лог активации 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)](flutter-quickstart-paywalls)
- [Получить пейволы Paywall Builder и их конфигурацию](flutter-get-pb-paywalls)
- [Отобразить пейволы](flutter-present-paywalls)
- [Обрабатывать события пейвола](flutter-handling-events)
- [Реагировать на действия кнопок](flutter-handle-paywall-actions)
Это сообщение предназначено для разработчиков, использующих языковые модели (LLM) при работе с кодом. Оно содержит ссылки на документацию Adapty по Flutter и не требует перевода как технический промпт.

Тем не менее, вот перевод для контекста:

---

Отправьте это своей LLM:

```
Прочитай эту документацию Adapty перед написанием кода:
- https://adapty.io/docs/ru/flutter-quickstart-paywalls.md
- https://adapty.io/docs/ru/flutter-get-pb-paywalls.md
- https://adapty.io/docs/ru/flutter-present-paywalls.md
- https://adapty.io/docs/ru/flutter-handling-events.md
- https://adapty.io/docs/ru/flutter-handle-paywall-actions.md
```
:::tip[Checkpoint]
- **Ожидается:** Пейвол отображается с настроенными продуктами. Нажатие на продукт запускает диалог покупки в песочнице.
- **На заметку:** Пустой пейвол или ошибка `getPaywall` → убедитесь, что ID плейсмента точно совпадает с указанным на дашборде, и что плейсменту назначена аудитория.
:::

</TabItem>

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

</TabItem>

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

**Гайды:**
- [Обзор Observer mode](observer-vs-full-mode)
- [Реализация Observer mode](implement-observer-mode-flutter)
- [Отчёт о транзакциях в Observer mode](report-transactions-observer-mode-flutter)
:::tip[Контрольная точка]
- **Ожидаемый результат:** После тестовой покупки в песочнице через ваш существующий флоу транзакция появляется в **Event Feed** дашборда Adapty.
- **Частая проблема:** Нет событий → убедитесь, что транзакции передаются в Adapty и серверные уведомления настроены для обоих сторов.
:::

</TabItem>

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

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

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

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

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

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

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

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

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

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

**Гайд:** [Чеклист релиза](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. Обратите внимание, что для некоторых AI-агентов (например, ChatGPT) нужно скачать `llms.txt` и загрузить файл в чат.
- [`llms-full.txt`](https://adapty.io/docs/ru/llms-full.txt): Вся документация Adapty объединена в один файл. Очень большой — используйте только когда нужна полная картина.
- Flutter-specific [`flutter-llms.txt`](https://adapty.io/docs/ru/flutter-llms.txt) и [`flutter-llms-full.txt`](https://adapty.io/docs/ru/flutter-llms-full.txt): Подборки для конкретных платформ, которые экономят токены по сравнению с полным сайтом.