Внутренние покупки в приложениях на FlutterFlow — полный гайд
Комплексный туториал по внедрению in-app purchases через RevenueCat в приложениях на FlutterFlow.
Суть за 30 секунд
Пошаговое руководство по настройке внутренних покупок: RevenueCat как middleware между App Store/Google Play и FlutterFlow, подписки, entitlements, offerings, тестирование через StoreKit.
📍 Навигация (Timeline)
Введение и концепция (00:00 — 04:00)
- 00:00 — Что такое in-app purchase, зачем нужно
- 01:00 — Freemium модель: бесплатное приложение + платные фичи
- 02:00 — Поток: пользователь → paywall → выбор плана → оплата → доступ
- 03:00 — App Store Connect (iOS) и Google Play Console (Android)
- 03:30 — RevenueCat как API-посредник
Почему RevenueCat (04:00 — 09:00)
- 04:00 — RevenueCat упрощает интеграцию — не нужно писать backend
- 05:00 — Кроссплатформенность: iOS + Android через один SDK
- 06:00 — Бесплатно до $2,500/mec revenue, потом 1%
- 08:00 — Идеально для indie-разработчиков и малого бизнеса
Три концепции RevenueCat (09:00 — 12:00)
- 09:00 — Products — ссылки на продукты в App Store/Google Play
- 09:30 — Настройка продуктов в App Store Connect → передача ID в RevenueCat
- 10:00 — Entitlements — право доступа (например, “premium”)
- 10:30 — Один entitlement = множество продуктов (weekly, monthly, yearly)
- 11:00 — Offerings — группы предложений (летняя распродажа, скидка 20%)
- 11:30 — RevenueCat = единая точка управления, не нужно менять код
Настройка RevenueCat (12:00 — 20:00)
- 12:00 — Создание проекта в RevenueCat
- 13:00 — Подключение App Store Connect через API-ключ
- 14:00 — Bundle ID — критически важен, должен совпадать везде
- 15:00 — API-ключи для FlutterFlow
- 16:00 — Products в RevenueCat: identifier должен совпадать с App Store
- 17:00 — Entitlement “pro” → привязка yearly subscription
- 18:00 — Проверка entitlement вместо каждого продукта отдельно
- 19:00 — Offerings: летняя распродажа, временные акции
App Store Connect — настройка подписок (20:00 — 24:00)
- 20:00 — Создание subscription group в App Store Connect
- 21:00 — Annual $39.99 + 1 week free trial
- 22:00 — Introductory offer: бесплатная неделя
- 22:30 — Создание subscription groups: 1 week, 1 month, 1 year
- 23:00 — Identifier должен точно совпадать с RevenueCat
FlutterFlow — интеграция (24:00 — 28:00)
- 24:00 — Кастомный виджет: API key + entitlement name
- 25:00 — Тестирование через симулятор, не из FlutterFlow
- 25:30 — Bundle ID в FlutterFlow должен совпадать с App Store
- 26:00 — Reverse domain notation:
com.jamesnocode.weatherapp - 27:00 — Скачивание Flutter-кода из проекта
Xcode — настройка iOS проекта (28:00 — 37:00)
- 28:00 — Открытие iOS проекта в Xcode
- 29:00 — Структура Flutter-проекта: ios/, android/, web/
- 30:00 — Проверка Bundle Identifier в Xcode
- 31:00 — 3 способа тестирования: StoreKit Testing, Sandbox, Production
- 33:00 — Подписание приложения в Xcode (Signing & Capabilities)
- 34:00 — Создание StoreKit Configuration File
- 35:00 — Добавление продукта: Reference Name + Product ID
- 36:00 — Цена $39.99, duration: 1 year, free trial: 1 week
- 37:00 — Выбор StoreKit Configuration файла в scheme
Тестирование (37:00 — 44:00)
- 37:00 — Запуск в iOS Simulator
- 38:00 — Paywall: кнопка с ценой, диалог подписки
- 39:00 — Xcode log: purchasing product, trial started
- 40:00 — RevenueCat Dashboard: trial started, expiration в 7 дней
- 41:00 — Sandbox data в RevenueCat
- 42:00 — Отмена подписки: opted out of renewal
- 43:00 — Удаление тестовых аккаунтов
Переход к Production (44:00 — 49:00)
- 44:00 — Удаление StoreKit Configuration → переход к App Store Connect
- 45:00 — Создание Sandbox тестеров в App Store Connect
- 46:00 — Production = реальные пользователи, реальные деньги
- 47:00 — Кастомизация: redirect после покупки, custom UI
- 48:00 — Patreon: доступ к проекту и тренингам
🧠 Ключевые концепции
- RevenueCat — middleware для управления подписками между stores и приложением
- Entitlements — право доступа к премиум-контенту
- Products — продукты в App Store/Google Play (weekly, monthly, yearly)
- Offerings — группы предложений для A/B тестов и акций
- StoreKit Testing — локальное тестирование подписок в Xcode без App Store Connect
- Sandbox Account — тестовый аккаунт для проверки покупок без списания денег
- Bundle ID — уникальный идентификатор приложения, должен совпадать везде
🛠 Практические фишки
- RevenueCat бесплатен до $2,500/мес revenue — идеально для старта
- Bundle ID должен точно совпадать в FlutterFlow, Xcode, App Store Connect и RevenueCat
- StoreKit Testing позволяет тестировать без публикации в App Store
- Один entitlement = множество продуктов — проверяй одно право доступа, а не каждый продукт
- Offerings позволяют включать/выключать акции без изменения кода
- В RevenueCat видно все транзакции: trial started, renewal, cancellation
- Sandbox данные отделены от production в RevenueCat Dashboard
- Отмена подписки ≠ мгновенный доступ, пользователь остаётся до конца периода
📌 Резюме
Фундаментальный гайд по монетизации через in-app purchases в FlutterFlow с использованием RevenueCat. Охватывает полный цикл: от настройки продуктов в App Store Connect до тестирования в Xcode и RevenueCat Dashboard. Must-watch для всех, кто планирует monetize приложение.
📺 Практика (Видео)
- Создание админ-ролей во FlutterFlow (правильный подход)
- FlutterFlow Tricks- Create User Accounts for Others
- Supabase Magic Link Authentication in FlutterFlow
- 6 мощных кастомных компонентов для FlutterFlow
- Создание социального приложения на FlutterFlow и Supabase
- n8n- Полный обзор и туториал по автоматизации
- Advanced Workflow- Как избавиться от ограничений FlutterFlow
- FlutterFlow- API-запросы к Supabase
- Название видео
- Создание мобильного дневника на FlutterFlow с локальной базой данных
- Master Forgot and Reset Password in FlutterFlow and Supabase (2025)