Чтобы включить встроенные покупки, нужно понять три ключевых понятия:
Продукты – всё, что пользователи могут купить (подписки, расходуемые покупки, пожизненный доступ)
Пейволы – конфигурации, определяющие, какие продукты предлагать. В Adapty пейволы — единственный способ получить продукты, но такой подход позволяет менять предложения, цены и наборы продуктов без изменения кода приложения.
Плейсменты – где и когда вы показываете пейволы в приложении (например, main, onboarding, settings). Вы назначаете пейволы для плейсментов в дашборде, а затем запрашиваете их по ID плейсмента в коде. Это упрощает проведение A/B-тестов и показ разных пейволов разным пользователям.
Adapty предлагает три способа включить покупки в приложении. Выберите подходящий в зависимости от требований:
Вы реализуете UI пейвола в коде приложения, но получаете объект пейвола из Adapty, сохраняя гибкость в управлении продуктами. См. гайд.
Observer mode
🔴 Сложно
У вас уже есть собственная инфраструктура обработки покупок и вы хотите продолжать её использовать. Обратите внимание, что observer mode имеет ограничения в Adapty. См. статью.
Шаги ниже показывают, как реализовать пейвол, созданный в Adapty Paywall Builder.
Чтобы отобразить пейвол, созданный в Adapty Paywall Builder, в коде приложения нужно сделать всего три вещи:
Получить пейвол: получить пейвол из Adapty.
Отобразить пейвол — Adapty сам обработает покупки: показать полученный контейнер пейвола в приложении.
Обработать действия кнопок: связать взаимодействия пользователя с пейволом с реакцией приложения на них. Например, открыть ссылки или закрыть пейвол при нажатии кнопок.
Самый быстрый способ выполнить эти шаги — следовать quickstart-гайду или создать пейволы и плейсменты с помощью Developer CLI.
1. Получите пейвол, созданный в Paywall Builder
Пейволы привязаны к плейсментам, настроенным в дашборде. Плейсменты позволяют показывать разные пейволы разным аудиториям или проводить A/B-тесты.
Чтобы получить пейвол, созданный в Adapty Paywall Builder, нужно:
Получить объект paywall по ID плейсмента с помощью метода getPaywall и проверить, что это пейвол, созданный в конструкторе.
Получить конфигурацию представления пейвола с помощью метода getPaywallConfiguration. Конфигурация содержит элементы UI и стили, необходимые для отображения пейвола.
Чтобы получить конфигурацию представления, необходимо включить переключатель Show on device в Paywall Builder. Иначе вы получите пустую конфигурацию, и пейвол не отобразится.
Получив конфигурацию пейвола, достаточно добавить несколько строк кода, чтобы показать его.
В SwiftUI при отображении пейвола нужно также обработать события. Часть из них опциональна, но didFailPurchase, didFinishRestore, didFailRestore и didFailRendering обязательны. При тестировании можно просто скопировать код из фрагмента ниже — он будет логировать эти ошибки.
Обработка didFinishPurchase не обязательна, но полезна, если вы хотите выполнять действия после успешной покупки. Если вы не реализуете этот коллбэк, пейвол закроется автоматически.
Подробнее об отображении пейвола см. в нашем гайде.
3. Обработайте действия кнопок
Когда пользователи нажимают кнопки в пейволе, iOS SDK автоматически обрабатывает покупки, восстановление, закрытие пейвола и открытие ссылок.
Однако другие кнопки имеют пользовательские или предустановленные ID и требуют обработки действий в коде. Также вы можете переопределить их поведение по умолчанию.
Например, ниже показано поведение кнопки закрытия по умолчанию. Добавлять это в код не нужно, но здесь видно, как это делается при необходимости.
Читайте наши гайды о том, как обрабатывать действия и события кнопок.
didPerformAction: { action in switch action { case let .close: paywallPresented = false // default behavior default: break }}
Есть вопросы или возникли проблемы? Загляните на наш форум поддержки, где можно найти ответы на распространённые вопросы или задать свой. Наша команда и сообщество всегда готовы помочь!