Включение покупок с Flow & Paywall Builder в iOS SDK

Чтобы подключить встроенные покупки, нужно разобраться в трёх ключевых концепциях:

  • Продукты – всё, что пользователи могут купить (подписки, расходуемые покупки, пожизненный доступ)
  • Флоу – последовательности экранов, которые представляют продукты пользователям и создаются в визуальном редакторе Flow & Paywall Builder. SDK получает их через getFlow. Если вы предпочитаете строить UI в своём коде, используйте пейвол — см. Реализация пейволов вручную.
  • Плейсменты – где и когда в приложении показываются флоу (например, main, onboarding, settings). Вы привязываете флоу к плейсментам в дашборде, а затем запрашиваете их по ID плейсмента в коде. Это упрощает запуск A/B-тестов и показ разных флоу разным пользователям.

Adapty предлагает три способа подключить покупки в вашем приложении. Выберите подходящий в зависимости от требований:

РеализацияСложностьКогда использовать
Adapty Flow & Paywall Builder✅ ЛегкоВы создаёте полноценный, готовый к покупкам флоу в no-code конструкторе. Adapty автоматически отображает его и берёт на себя весь сложный процесс: покупки, валидацию чеков и управление подписками.
Пейволы, созданные вручную🟡 СреднеВы реализуете UI пейвола в коде приложения, но по-прежнему получаете объект флоу от Adapty, сохраняя гибкость в управлении продуктами. См. гайд.
Режим Observer🔴 СложноУ вас уже есть собственная инфраструктура обработки покупок, и вы хотите продолжать её использовать. Обратите внимание, что режим Observer имеет свои ограничения в Adapty. См. статью.
Important

Шаги ниже показывают, как реализовать флоу, созданный в Adapty Flow & Paywall Builder.

Если вы предпочитаете создавать UI пейвола самостоятельно, смотрите Реализация пейволов вручную.

Чтобы отобразить флоу, созданный в Adapty Flow & Paywall Builder, в коде вашего приложения нужно только:

  1. Получите флоу: Запросите его из Adapty.
  2. Отобразите его, и Adapty обработает покупки за вас: Покажите представление в своём приложении.
  3. Обрабатывайте действия кнопок: Свяжите взаимодействия пользователя с реакцией вашего приложения. Например, открывайте ссылки или закрывайте флоу, когда пользователь нажимает кнопки.

Перед началом работы

Перед началом выполните следующие шаги:

  1. Подключите приложение к App Store в дашборде Adapty.
  2. Создайте продукты в Adapty.
  3. Создайте флоу и добавьте в него продукты.
  4. Создайте плейсмент и добавьте в него флоу.
  5. Установите и активируйте SDK в коде приложения. В этом гайде используются API Adapty iOS SDK v4.

1. Получите флоу

Ваши флоу привязаны к плейсментам, настроенным в дашборде. Плейсменты позволяют показывать разные флоу разным аудиториям или запускать A/B-тесты.

Чтобы получить флоу, созданный в Adapty Flow & Paywall Builder, нужно:

  1. Получить объект flow по ID плейсмента с помощью метода getFlow и проверить, есть ли у него конфигурация представления.
  2. Получить конфигурацию представления с помощью метода getFlowConfiguration. Она содержит элементы UI и стили, необходимые для отображения флоу.

func loadFlow() async {
    let flow = try await Adapty.getFlow(placementId: "YOUR_PLACEMENT_ID")

    guard flow.hasViewConfiguration else {
        print("Flow doesn't have a view configuration")
        return
    }

    flowConfiguration = try await AdaptyUI.getFlowConfiguration(forFlow: flow)
}

2. Отобразите флоу

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

Info

Подробнее о том, как отобразить флоу, см. наш гайд.

3. Обработка действий кнопок

Когда пользователи нажимают кнопки, iOS SDK автоматически обрабатывает покупки, восстановление, закрытие флоу и переходы по ссылкам.

Однако у других кнопок есть пользовательские или заранее заданные идентификаторы, и обработку их действий нужно реализовывать в коде. Кроме того, вы можете переопределить их поведение по умолчанию.

Например, вот как обрабатывать кнопку закрытия. В UIKit SDK автоматически закрывает контроллер, когда срабатывает .close — переопределяйте это только если нужно нестандартное поведение. В SwiftUI вам нужно самостоятельно установить привязку isPresented в false.

Tip

Читайте наши гайды о том, как обрабатывать действия кнопок и события.

Следующие шаги

Tip

Есть вопросы или возникли проблемы? Загляните на наш форум поддержки, где можно найти ответы на распространённые вопросы или задать свой. Наша команда и сообщество всегда готовы помочь!

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

Теперь нужно проверить уровень доступа пользователей, чтобы показывать пейвол или предоставлять доступ к платным функциям только нужным пользователям.

Полный пример

Вот как все шаги из этого гайда можно объединить в вашем приложении.