Включение покупок через пейволы в iOS SDK

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

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

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

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

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

Если вы не хотите использовать Paywall Builder, см. гайд по обработке покупок в пейволах, созданных вручную.

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

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

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

Выполните следующие подготовительные шаги:

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

Самый быстрый способ выполнить эти шаги — следовать quickstart-гайду или создать пейволы и плейсменты с помощью Developer CLI.

1. Получите пейвол, созданный в Paywall Builder

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

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

  1. Получить объект paywall по ID плейсмента с помощью метода getPaywall и проверить, что это пейвол, созданный в конструкторе.

  2. Получить конфигурацию представления пейвола с помощью метода getPaywallConfiguration. Конфигурация содержит элементы UI и стили, необходимые для отображения пейвола.

Чтобы получить конфигурацию представления, необходимо включить переключатель Show on device в Paywall Builder. Иначе вы получите пустую конфигурацию, и пейвол не отобразится.


func loadPaywall() async {
let paywall = try await Adapty.getPaywall("YOUR_PLACEMENT_ID")

    guard paywall.hasViewConfiguration else {
        print("Paywall doesn't have view configuration")
        return
    }
    
    paywallConfiguration = try await AdaptyUI.getPaywallConfiguration(forPaywall: paywall)
}

2. Отобразите пейвол

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

Подробнее об отображении пейвола см. в нашем гайде.

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

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

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

Например, ниже показано поведение кнопки закрытия по умолчанию. Добавлять это в код не нужно, но здесь видно, как это делается при необходимости.

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

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

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

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

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

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

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