Включить покупки в пользовательском пейволе в React Native SDK
В этом гайде описано, как интегрировать Adapty в пользовательские пейволы. Сохраняйте полный контроль над реализацией пейвола, пока Adapty SDK получает продукты, обрабатывает новые покупки и восстанавливает предыдущие.
Это руководство предназначено для разработчиков, реализующих кастомные пейволы. Если вы хотите самый простой способ подключить покупки, используйте Adapty Flow Builder. С Flow Builder вы создаёте флоу в визуальном редакторе без кода, Adapty автоматически обрабатывает всю логику покупок, а тестировать разные дизайны можно без перепубликации приложения.
Прежде чем начать
Настройка продуктов
Чтобы подключить встроенные покупки, нужно разобраться с тремя ключевыми понятиями:
- Products – всё, что пользователи могут купить (подписки, расходуемые покупки, пожизненный доступ)
- Paywalls – конфигурации, определяющие, какие продукты предлагать. В Adapty пейволы — единственный способ получить продукты, но такой подход позволяет менять продукты, цены и офферы без изменений в коде приложения.
- Placements – где и когда показывать пейволы в приложении (например,
main,onboarding,settings). Вы настраиваете пейволы для плейсментов в дашборде, а затем запрашиваете их по ID плейсмента в коде. Это упрощает запуск A/B-тестов и показ разных пейволов разным пользователям. Убедитесь, что вы понимаете эти концепции, даже если используете собственный пейвол. По сути, это просто способ управлять продуктами, которые вы продаёте в приложении.
Чтобы реализовать собственный пейвол, нужно создать пейвол и добавить его в плейсмент. Это позволит получать продукты. Чтобы разобраться, что нужно сделать в дашборде, следуйте quickstart-гайду здесь.
Управление пользователями
Вы можете работать как с backend-аутентификацией, так и без неё.
Тем не менее Adapty SDK по-разному обрабатывает анонимных и идентифицированных пользователей. Прочитайте гайд по быстрой идентификации, чтобы разобраться в деталях и убедиться, что вы правильно работаете с пользователями.
Шаг 1. Получите продукты
Чтобы получить продукты для вашего кастомного пейвола, нужно:
- Получить объект
flow, передав ID плейсмента в методgetFlow. - Получить массив продуктов для этого флоу с помощью метода
getPaywallProducts.
async function loadPaywall() {
try {
const flow: AdaptyFlow = await adapty.getFlow('YOUR_PLACEMENT_ID');
const products: AdaptyPaywallProduct[] = await adapty.getPaywallProducts(flow);
// Use products to build your custom paywall UI
} catch (error) {
// Handle the error
}
}
Шаг 2. Обработка покупок
Когда пользователь нажимает на продукт в вашем кастомном пейволе, вызовите метод makePurchase с выбранным продуктом. Он обработает флоу покупки и вернёт обновлённый профиль.
async function purchaseProduct(product: AdaptyPaywallProduct) {
try {
const purchaseResult: AdaptyPurchaseResult = await adapty.makePurchase(product);
switch (purchaseResult.type) {
case 'success':
// Purchase successful, profile updated
break;
case 'user_cancelled':
// User canceled the purchase
break;
case 'pending':
// Purchase is pending (e.g., user will pay offline with cash)
break;
}
} catch (error) {
// Handle the error
}
}
Шаг 3. Восстановление покупок
Сторы требуют, чтобы во всех приложениях с подписками была возможность восстановить покупки.
Вызывайте метод restorePurchases, когда пользователь нажимает кнопку восстановления. Это синхронизирует историю покупок с Adapty и вернёт обновлённый профиль.
async function restorePurchases() {
try {
const profile: AdaptyProfile = await adapty.restorePurchases();
// Restore successful, profile updated
} catch (error) {
// Handle the error
}
}
Следующие шаги
Есть вопросы или возникли проблемы? Загляните на наш форум поддержки, где можно найти ответы на распространённые вопросы или задать свой. Наша команда и сообщество всегда готовы помочь!
Ваш пейвол готов к отображению в приложении. Протестируйте покупки в песочнице App Store или в Google Play Store, чтобы убедиться, что тестовая покупка через пейвол проходит успешно. Чтобы увидеть, как это работает в готовой к продакшену реализации, изучите CustomPurchaseScreen.tsx в нашем примере приложения — там показана обработка покупок с правильной обработкой ошибок, состояниями загрузки и управлением состоянием UI. Затем проверьте, совершил ли пользователь покупку, чтобы решить, показывать ли пейвол или открыть доступ к платным функциям.