Files
obsidian-vault/personal/projects/psychologist-app/monetization-revenuecat.md
T

44 KiB
Raw Blame History

title, aliases, created, updated, tags, related
title aliases created updated tags related
Монетизация — RevenueCat
Монетизация
Monetization
RevenueCat
subscriptions
monetization-revenuecat
2026-05-16 2026-05-31
project
app
psychology
monetization
revenuecat
personal/projects/psychologist-app/overview
personal/projects/psychologist-app/privacy-legal

Монетизация AI-приложения рефлексии: RevenueCat + Стратегия подписок

Контекст: AI-приложение рефлексии, iOS SwiftUI + Android через Skip.tools. Соло инди-разработчик, Бишкек. Планируемые планы: Бесплатный триал / Monthly $9.99 / Annual $59.99 / Unlimited $19.99/mo Дата исследования: Май 2026


1. RevenueCat: Детальный разбор

1.1 Что такое RevenueCat

RevenueCat — это платформа управления подписками, которая предоставляет бэкенд-обёртку над StoreKit (iOS) и Google Play Billing (Android). Ключевая ценность: единый источник правды по подпискам вместо самостоятельного обслуживания двух разных платёжных систем.

Полный список функций:

Категория Функциональность
Build Open-source SDK для iOS, Android, Flutter, React Native, Unity, macOS/Catalyst, Cordova, Ionic; Unified subscription backend; REST API; StoreKit 2 / Play Billing 5 поддержка
Acquire Интеграции с MMP (AppsFlyer, Adjust, Branch, Facebook Ads, Apple Search Ads); Predictive LTV cohort analysis; No-code Web-to-App Funnels
Convert A/B тестирование с remote config; No-code paywall editor с шаблонами; Segmentation (audience + in-app placement targeting)
Understand Dashboard с 40+ метриками; Webhooks real-time; Automated data delivery (S3, BigQuery); интеграция с Amplitude, Mixpanel, Firebase, Segment и другими (27 интеграций всего)
Retain Automated in-app subscription support; Cross-platform customer insights; Grant promotional subscriptions из дашборда; Event-based lifecycle triggers через маркетинговые интеграции
Validation Server-side receipt validation для iOS и Android; защита от мошенничества

1.2 Ценообразование RevenueCat: точные условия

Тариф Цена Лимит
Pro (Free tier) $0 До $2,500/month MTR (Monthly Tracked Revenue)
Pro (платный) 1% от MTR Свыше $2,500 MTR
Growth Tools Only 1% только на конверсии Только Paywalls + Funnels на своей инфраструктуре
Enterprise Custom Высокий объём, кастомные SLA

Важные детали:

  • MTR = gross revenue до вычета комиссии платформы (т.е. $2,500 MTR ≠ $2,500 у вас в кармане; реально на счёт придёт ~$1,750 после комиссии 30%)
  • Кредитная карта не нужна для старта
  • Все функции доступны на бесплатном тарифе — нет ограничений по фичам, только по объёму
  • Для соло инди-разработчика с нуля — полностью бесплатно до ~175 активных подписчиков ($9.99/mo × 250 ≈ $2,500)

Когда начнёте платить: При $9.99/mo плане, переход на платный тариф произойдёт примерно при 250 платящих пользователях (≈$2,500 MRR). RevenueCat будет брать 1%, то есть при $5,000 MRR → $50/месяц. Это разумно.

1.3 Интеграция в SwiftUI проект: сложность и время

Установка через SPM (рекомендуемый путь):

// Package.swift или Xcode → Add Package Dependencies
// URL: https://github.com/RevenueCat/purchases-ios-spm.git
// Версия: 5.0.0 < 6.0.0

import RevenueCat

// Инициализация один раз при запуске
Purchases.logLevel = .debug
Purchases.configure(withAPIKey: "appl_YOUR_KEY", appUserID: currentUserID)

Проверка статуса подписки:

let customerInfo = try await Purchases.shared.customerInfo()
if customerInfo.entitlements.all["pro"]?.isActive == true {
    // Пользователь Premium
}

Оценка времени для опытного iOS-разработчика:

  • Базовая интеграция (SDK + проверка статуса + paywall) — 48 часов
  • Полная интеграция с A/B тестами, аналитикой, webhooks — 13 дня
  • Настройка App Store Connect (продукты, группы подписок) — 24 часа

1.4 RevenueCat + Skip.tools: Полная поддержка!

Отличная новость: Skip.tools имеет официальный модуль skip-revenue — это нативная обёртка для RevenueCat, работающая на обеих платформах из единого Swift-кода.

// Package.swift
.package(url: "https://source.skip.dev/skip-revenue.git", "0.0.0"..<"2.0.0")

// Инициализация с платформенными ключами
import SkipRevenue

@main struct MyApp: App {
    init() {
        #if !SKIP
        RevenueCatFuse.shared.configure(apiKey: "appl_ios_key")
        #else
        RevenueCatFuse.shared.configure(apiKey: "goog_android_key")
        #endif
    }
}

Функции skip-revenue:

  • loadProducts() / loadOfferings() — загрузка продуктов
  • purchase(package:) — покупка (iOS: без доп. параметров; Android: требует activity)
  • getCustomerInfo() — статус подписки
  • restorePurchases() — восстановление покупок
  • RCFusePaywallView — готовый нативный paywall UI на обеих платформах

⚠️ Важный нюанс для Android (через Skip):

// Android требует передачи Activity
let customerInfo = try await RevenueCatFuse.shared.purchase(
    package: package,
    activity: UIApplication.shared.androidActivity
)

Это единственное отличие от iOS-кода. Всё остальное идентично.

1.5 Отзывы инди-разработчиков о RevenueCat

Из Reddit r/androiddev (реальные комментарии):

Плюсы:

  • "Easy to set up, works well long-term" — стабильная работа
  • User retention dashboards без необходимости настраивать BigQuery
  • A/B testing paywalls из коробки
  • Responsive support в GitHub issues
  • "That sort of support is worth so much more to me than the bare implementation!"
  • Цитата из маркетинга RevenueCat (но показательная): "In just a year from shipping with RevenueCat, I was able to quit my day job to focus 100% on CardPointers."

Минусы:

  • API latency: p90 ~800ms для запросов из EU-серверов (важно для UX)
  • Абстракция Products/Offerings/Entitlements — требует понимания, не очевидна новичкам
  • При высоких доходах 1% становится значительной суммой
  • Paywall шаблоны ограничены (но fully custom paywall возможен)

Рейтинги:

  • Capterra: 4.8/5
  • G2: 4.7/5
  • SOC2 certified, GDPR compliant

1.6 Конкуренты: Adapty, Qonversion, Superwall

Критерий RevenueCat Adapty Qonversion Superwall
Free tier $0 до $2,500 MTR $0 до $10K MTR (ограниченный)
Платный тариф 1% от MTR $99/mo (flat) ~$20/mo $99/mo
SDK платформы 8 платформ 5 платформ iOS + Android iOS + Android
Skip.tools support Официальный пакет
Интеграции 27 17 ~10 ~15
No-code Paywall Builder (2024 добавлен) (специализация)
A/B Testing
Free CRM access (только paid)
Free analytics Базовые 6 метрик Более 10 метрик Средние
Локализация paywalls бесплатно (только paid)
MMP/Attribution (бесплатно) ($100+ plan)

Вывод для нашего кейса:

RevenueCat — однозначный выбор для Skip.tools проекта. Единственный инструмент с официальной поддержкой Skip. Adapty дешевле до $10K MTR, но отсутствует поддержка Skip и локализация paywalls платная. Qonversion и Superwall не имеют Skip-интеграции.


2. Данные о конверсии: RevenueCat State of Subscription Apps 2024

Источник: RevenueCat, анализ 30,000+ приложений, 18,000+ разработчиков, $6.7B+ отслеживаемого дохода, 290M+ подписчиков

2.1 Ключевые бенчмарки конверсии

Метрика Значение
Downloads → платящий подписчик (первые 30 дней) 1.7% (среднее)
Нижний квартиль 0.6%
Верхний квартиль 4.2%
Trial → конверсия (2024) 37.3% (снизилась с 40.5% в 2023)
Trial → конверсия (Health & Fitness) 44.5%
Trial → конверсия, триал ≤4 дня 31.2%
Trial → конверсия, длинный триал до 44.9%
App Store vs Google Play конверсия 39.0% vs 28.5%
Разница top 5% vs bottom 25% (за 12 месяцев) 200x
Churned пользователи, возвращающиеся за 12 мес >10%

2.2 Pricing benchmarks (релевантные для нашего приложения)

Категория Данные
Самая распространённая цена (месячная) $9.99/mo — попадаем точно в рынок
Средняя месячная цена (2024) $8.01 (рост +14% с $7.05)
Самая распространённая цена (годовая, Education) $59.99/year — наш план попадает точно
Рекомендуемый дисконт Annual vs Monthly (аннуализированный) ~17% (наш: $59.99 vs $9.99×12=$119.88 → скидка 50% — агрессивно, но работает)
Health & Fitness предпочитают 1-year планы (долгосрочные цели)

2.3 Стратегия триала: данные 2024

Стратегия 2024 2023
Иногда предлагают триал 47.84%
Никогда не предлагают 28.81% ~40%
Всегда предлагают 23.34% ~30%+

Тренды:

  • Самый популярный период триала: 59 дней
  • Рост 17–32 дневных триалов на 50% (тренд к более длинным)
  • Большинство триалов стартуют в первые 24 часа после установки (85%+ в Business, Health)
  • Эксперт Hannah Parvaz: "Short trials are the equivalent of a speed date: brief yet intense"

2.4 Модели монетизации: Calm, Headspace, Duolingo

Приложение Модель Ключевые решения
Calm Hard paywall после онбординга + 7-day trial Нет бесплатного контента; paywall сразу после регистрации; упор на "sleep" как крючок
Headspace Freemium + подписка Базовые медитации бесплатно; всё остальное — платно; Annual план с большой скидкой
Duolingo Freemium + рекламный tier + Super Duolingo Сильный gamification; ads создают motivation to upgrade; агрессивные уведомления

Вывод по индустрии:

  • Health & Fitness / Mental Health имеют 44.5% trial conversion — лучший показатель после Travel
  • Hard paywall (Calm) показывает хорошие результаты для brand-aware приложений
  • Soft paywall (Headspace) работает для discovery через контент

2.5 Сравнение моделей для нашего приложения

Модель Конверсия (оценка) Pros Cons
1 сессия бесплатно, потом prompt 35% платных Нет барьера входа; пользователь видит ценность Сложнее предсказать MRR
14-day trial с картой 30–40% из начавших триал Высокая конверсия завершивших Меньше людей начнут триал (барьер карты)
7-day trial без карты 515% из скачавших Оптимальный баланс Люди забывают подписаться
Freemium с N сессиями в месяц 28% платных Постоянная аудитория; вирусность Сложность удержания платящих

Рекомендация для Mental Health / Reflection приложения:

Оптимальна модель "7-day free trial без карты + soft paywall после первой сессии" (показать paywall, но дать продолжить). После триала — hard paywall.


3. Правила Apple и Google

3.1 Apple: Free trial и сессии без карты

Можно ли давать первую сессию бесплатно без карты?

ДА — это полностью разрешено и поощряется.

Apple позволяет предоставлять любой бесплатный контент без привязки карты. "1 бесплатная сессия" — это просто бесплатная функция приложения, не требующая IAP. Карта нужна только при оформлении подписки или триала.

Типы offer Apple IAP:

  • Introductory Offers — бесплатный/сниженный триал для новых подписчиков
  • Offer Codes — коды для маркетинговых акций
  • Promotional Offers — специальные предложения для бывших/текущих подписчиков

App Store Review Guidelines (раздел 3.1.1 — IAP):

  • Все функции, требующие разблокировки за деньги, обязаны использовать IAP Apple
  • Нельзя ссылаться на другие методы оплаты внутри приложения (нарушение)
  • "Free" приложения не могут требовать покупку до использования (но можно после первой сессии)
  • Metadata должна чётко описывать, что нужна подписка
  • Демо-аккаунт для ревьюеров обязателен если paywall блокирует функциональность

3.2 Apple Small Business Program: 15% комиссия

Параметр Условие
Стандартная комиссия 30%
Уменьшенная комиссия 15%
Порог дохода ≤ $1,000,000 USD proceeds в предыдущем календарном году
Applies to Ты + ВСЕ связанные аккаунты разработчика суммарно
Enrollement Нужно подать заявку; одобрение ~15 дней после конца фискального месяца
Подходит ли соло-инди из KG? Да, абсолютно — нет ограничений по географии
Subscriptions (2+ year) После 1-го года подписки Apple снижает до 15% автоматически

Как записаться: App Store Connect → Account Holder → Small Business Program → Enroll

Для нашего случая: Сразу при запуске подаём заявку. До $1M proceed в год — это примерно 8,300 платящих пользователей при $9.99/mo × 12. Очень реально оставаться на 15% долго.

3.3 Google Play: аналогичные условия

Параметр Условие
Стандартная комиссия 30%
Подписки 15% всегда (без лимита по доходу!)
Первый $1M/год (не подписки) 15%
Свыше $1M/год 30%
97% разработчиков Платят 0% (бесплатное распространение)
99% разработчиков с транзакциями Платят 15% или меньше

Ключевое отличие Google: Для подписок Google уже автоматически берёт 15% (не нужна отдельная программа как у Apple). Это выгоднее.

Итоговые комиссии для нашего приложения:

  • Apple (после Small Business Program): 15% → с $9.99 получаем $8.49
  • Google Play (подписки): 15% → с $9.99 получаем $8.49
  • После вычета RevenueCat 1%: ~$8.41

3.4 Типичные ошибки при первой настройке IAP

  1. Не подписано Paid Apps Agreement в App Store Connect → IAP не работает
  2. Не настроены банковские реквизиты → то же самое
  3. Продукт в статусе "Ready to Submit" но не "Approved" → покупки не работают в production
  4. Не включена In-App Purchase capability в Xcode (Capabilities tab)
  5. Hardcoded product IDs → при смене плана нужен update приложения
  6. Sandbox account не создан в App Store Connect → тестирование невозможно
  7. Не вызван transaction.finish() → транзакции висят бесконечно
  8. Metadata не описывает подписку → reject от App Review (обязательно 2.3.2)
  9. Отсутствует восстановление покупок → обязательное требование Apple

4. Психология ценообразования для Mental Health

4.1 Где показывать paywall

Данные и рекомендации:

Момент показа Конверсия (оценка) Обоснование
Сразу при открытии (до онбординга) ~1-2% Слишком рано; пользователь не видел ценности
После онбординга (перед первой сессией) ~3-5% Вариант Calm; работает при сильном бренде
После первой сессии ~5-10% Оптимально для рефлексии — пользователь понял ценность
После 3+ сессий / 3+ дней ~3-6% Пользователь "тёплый", но часть уже ушла
При достижении лимита (freemium) ~4-8% Естественный триггер; friction высокий

Рекомендация:

Показывай paywall после первой завершённой сессии. Момент завершения сессии — пик эмоциональной ценности: пользователь только что получил инсайт и готов инвестировать в продолжение.

4.2 Soft vs Hard paywall

Тип Описание Конверсия Retention
Hard paywall Полная блокировка; нужна подписка Выше среди прошедших Ниже органический рост
Soft paywall Можно пропустить; часть функций доступна Ниже одномоментная Выше долгосрочная
Soft → Hard (после триала) Триал без карты, затем блокировка Оптимально Лучший баланс

Для mental health / reflection приложений:

  • Soft paywall с триалом даёт больше шансов доказать ценность
  • Пользователи не доверяют психологическим инструментам без опыта
  • Рекомендую: мягкий paywall с 7-дневным триалом → hard блокировка после триала

4.3 Framing: как формулировать ограничения

Формулировка Эффект
"2 сессии в неделю" Кажется щедро; создаёт ритм
"8 сессий в месяц" Кажется меньше; абстрактно
"Попробуй 7 дней бесплатно" Позитивный framing; снижает страх
"Осталось 2 бесплатных сессии" Loss aversion; хорошо конвертирует
"Продолжи свой путь рефлексии" Emotional hook; лучше для mental health

Рекомендация по framing:

  • Используй "неделю" как единицу ("2 сессии в неделю"), не месяц
  • Показывай прогресс — "ты уже сделал X шагов" до paywall
  • Формулируй как "продолжение", не как "покупку"

4.4 Annual plan: когда и как предлагать

Рекомендации из данных RevenueCat 2024:

  • Health & Fitness аудитория сильно предпочитает годовые планы (долгосрочные цели)
  • Эксперт Reid DeRamus (ex-Hulu): "Avoid lifetime plans — severely under-monetize most loyal users"
  • Стандартный дисконт: 17% от аннуализированной месячной цены; наш: 50% скидка — агрессивно, но привычно для рынка

Когда предлагать Annual:

  1. На paywall экране: выделить Annual как "Most Popular" или "Best Value"
  2. После 2–3 недель месячной подписки: upgrade prompt
  3. При ежегодном продлении: предложить скидку если хотели отменить

Психология Annual:

  • "$59.99/year" воспринимается как "меньше $5/month" — используй это в copy
  • Сравни с "двумя чашками кофе в месяц" для mental health аудитории

4.5 Примеры удачных paywall экранов (паттерны)

Структура конвертирующего paywall для mental health:

[Эмоциональный заголовок]
"Продолжи свой путь к ясности"

[Список 3-4 бенефита с иконками]
✓ Неограниченные сессии рефлексии
✓ AI-анализ паттернов мышления
✓ История и инсайты
✓ Экспорт данных

[Планы — Annual highlighted]
┌─────────────────────────────────┐
│ ⭐ ГОДОВОЙ  $59.99/год          │
│    Экономия 50% · $4.99/месяц  │
└─────────────────────────────────┘
  МЕСЯЧНЫЙ  $9.99/месяц

[CTA Button]
"Начать 7 дней бесплатно"

[Legal]
Отмена в любое время · Без обязательств

Ключевые принципы:

  • Annual план — всегда первый и выделенный
  • Кнопка CTA фокусируется на триале, не на цене
  • Минимум юридического текста сверху, максимум — мелко снизу
  • Social proof если есть: "Помог 10,000 пользователям"

5. Пошаговый план реализации

Шаг 0: Подготовка App Store Connect (до RevenueCat)

□ 1. Подписать Paid Apps Agreement (Schedule 2) в App Store Connect
□ 2. Добавить банковские реквизиты (можно Payoneer / карта KG-банка)
□ 3. Создать Subscription Group: "Psychologist Pro"
□ 4. Создать продукты:
     - com.yourapp.monthly_999   ($9.99/mo, 1 month)
     - com.yourapp.annual_5999   ($59.99/yr, 1 year)  
     - com.yourapp.unlimited_1999 ($19.99/mo, 1 month — "Unlimited")
□ 5. Для каждого продукта: добавить локализацию (EN обязательна)
□ 6. Настроить Free Trial: 7 days для каждого плана
□ 7. Добавить скриншот и описание для App Review
□ 8. Создать Sandbox тестовый аккаунт (Users and Access → Sandbox Testers)
□ 9. Подать заявку на Small Business Program (15% комиссия)

Шаг 1: Настройка RevenueCat

□ 1. Зарегистрироваться на revenuecat.com (бесплатно, без карты)
□ 2. Создать проект "Psychologist App"
□ 3. Добавить iOS App: вставить Bundle ID, Apple API Key (из App Store Connect)
□ 4. Добавить Android App: Bundle ID, Google Service Account JSON
□ 5. В RevenueCat Dashboard → Products: добавить те же Product IDs
□ 6. Создать Entitlement "pro" 
□ 7. Привязать все продукты к entitlement "pro"
□ 8. Создать Offering "default" с пакетами monthly, annual, unlimited
□ 9. Настроить webhooks (опционально: Slack уведомления о подписках)

Шаг 2: Интеграция в Skip.tools проект

// Package.swift — добавить зависимость
.package(url: "https://source.skip.dev/skip-revenue.git", "0.0.0"..<"2.0.0")

// App.swift — инициализация
import SkipRevenue

@main struct PsychologistApp: App {
    init() {
        #if !SKIP
        RevenueCatFuse.shared.configure(apiKey: "appl_XXXXXXXX")
        #else  
        RevenueCatFuse.shared.configure(apiKey: "goog_XXXXXXXX")
        #endif
    }
}

// SubscriptionManager.swift — сервис подписок
@MainActor
class SubscriptionManager: ObservableObject {
    @Published var isPro: Bool = false
    
    func checkStatus() async {
        let info = try? await RevenueCatFuse.shared.getCustomerInfo()
        isPro = info?.isEntitlementActive("pro") ?? false
    }
    
    func loadOfferings() async throws -> [RCFusePackage] {
        return try await RevenueCatFuse.shared.loadProducts()
    }
}

// PaywallView.swift — использование готового UI
import SkipRevenueUI

.sheet(isPresented: $showPaywall) {
    RCFusePaywallView(
        onPurchaseCompleted: { _ in showPaywall = false },
        onRestoreCompleted: { _ in showPaywall = false },
        onDismiss: { showPaywall = false }
    )
}

Шаг 3: Тестирование в Sandbox

□ 1. В Xcode: настроить StoreKit Configuration File (File → New → StoreKit Config)
□ 2. Edit Scheme → Run → Options → StoreKit Configuration: выбрать файл
□ 3. Войти в Simulator под Sandbox тестовым аккаунтом (Settings → App Store)
□ 4. Тестировать сценарии:
     - Успешная покупка подписки
     - Отмена подписки
     - Восстановление покупок
     - Истечение триала (ускоренное время в Sandbox: 1 day = 5 min)
     - Billing issue (decline карты)
□ 5. Проверять события в RevenueCat Dashboard → Customer Lookup

Шаг 4: Запуск и мониторинг

□ 1. Настроить Webhook → Slack канал для real-time уведомлений
□ 2. Подключить Firebase Analytics для funnel отслеживания
□ 3. Настроить A/B тест paywall (RevenueCat Experiments):
     - Вариант A: paywall после онбординга
     - Вариант B: paywall после первой сессии
□ 4. Мониторить метрики:
     - Trial start rate (цель: >5%)
     - Trial conversion rate (цель: >35%)  
     - Monthly churn (цель: <10%)
     - MRR growth

6. Рекомендованная модель монетизации

Финальная рекомендация

Выбранная модель: "Soft Paywall → Free Trial → Hard Paywall"

Первый запуск
    ↓
Онбординг (5 экранов, без paywall)
    ↓
Первая ПОЛНАЯ бесплатная сессия
    ↓
[После сессии — Paywall экран]
  "Понравилось? Продолжи своё путешествие"
  → "Начать 7 дней бесплатно" [CTA]
  → "Пропустить" [маленькая ссылка]
    ↓ (если пропустил)
2-я сессия → HARD paywall (нет пропуска)

Структура планов (финальная):

План Цена Позиционирование
Annual $59.99/год ($4.99/mo) "Best Value" — выделен первым
Monthly $9.99/mo Стандартный план
Unlimited $19.99/mo Для power users (больше сессий в день, приоритет)

Триал: 7 дней бесплатно (без карты) для Monthly и Annual. Unlimited — без триала или 3 дня.

Почему именно эта модель

  1. 1 сессия бесплатно — пользователь видит ценность ДО оплаты (критично для trust в mental health)
  2. 7-day trial без карты — снижает барьер; Health & Fitness конвертирует 44.5% из начавших триал
  3. Annual как основной — Health & Fitness аудитория предпочитает годовые планы (долгосрочные цели)
  4. $59.99/year — точно попадает в самый распространённый ценовой tier (Education/Health data 2024)
  5. Soft → Hard — адаптируется к уровню доверия пользователя

Ожидаемые метрики (консервативный прогноз)

Метрика Значение
Download → Trial start 2035%
Trial → Paid 3040%
Download → Paid (итого) ~510%
Annual vs Monthly split 60% / 40% (цель)
MRR при 1000 активных подписчиках ~$6,0008,000
RevenueCat fee при $6,000 MRR $60/mo (1%)
Apple/Google комиссия (15%) ~$900/mo
Чистый MRR при $6K gross ~$5,040/mo

Итоговые выводы

  1. RevenueCat — единственный правильный выбор для Skip.tools проекта благодаря официальному пакету skip-revenue. Бесплатно до $2,500 MRR (≈250 платящих пользователей).

  2. Skip.tools + RevenueCat работает нативно через единый Swift-код с минимальными платформенными различиями (только передача activity для Android-покупок).

  3. Apple Small Business Program (15% вместо 30%) доступен сразу для соло-разработчика из Кыргызстана. Подать заявку в первый же день запуска.

  4. Google Play автоматически берёт 15% на подписки — программа не нужна.

  5. 7-day free trial + 1 бесплатная сессия — оптимальная комбинация для mental health приложения. Trial start rate 2035%, конверсия trial→paid до 44.5% в категории Health & Fitness.

  6. Annual план выделить первым — Health & Fitness аудитория предпочитает долгосрочные планы, конверсия выше.

  7. Paywall после первой сессии — оптимальный момент. Эмоциональный пик после инсайта = максимальная готовность платить.

  8. Время интеграции RevenueCat + Skip: 12 дня для базовой интеграции + 2–4 часа на App Store Connect настройку.


7. Российский рынок: подписки в условиях санкций (май 2026)

TL;DR: App Store платежи в РФ полностью отключены с 1 апреля 2026. RevenueCat не поддерживает RuStore. Для России нужен отдельный платёжный стек. Единого SDK нет — нужна абстракция.

7.1 Текущий статус платёжных каналов

Канал Статус Комментарий
App Store (iOS) 🔴 МЁРТВ с 01.04.2026 Apple Ireland оштрафована за нарушение санкций → отключила все платежи в РФ. Работает только существующий баланс Apple Account
Google Play (Android) 🟡 Ограничен Visa/Mastercard недоступны. МИР — частично. SBP — нет. Часть пользователей платит через операторские счета, но это «расходящийся» канал
RuStore (Android) 🟢 Основной канал Предустановлен на всех Android-устройствах в РФ с сентября 2025. Полная поддержка МИР, СБП, SberPay, карты из VK ID
RuStore на iOS 🟠 Не существует Только RuStore Bridge (требует Android-устройства рядом). Pay SDK для iOS был анонсирован дек. 2025 на «начало 2026» — статус запуска неясен
Web-checkout iOS 🟡 Технически возможен Внешний сайт + ЮКасса/Tinkoff/CloudPayments → пользователь получает токен доступа → вводит в приложении

7.2 RevenueCat: поддержка России

RevenueCat НЕ поддерживает RuStore. RevenueCat оборачивает только:

  • StoreKit / StoreKit 2 (Apple)
  • Google Play Billing (Google)

RuStore использует собственный Pay SDK (и мигрирует с устаревшего BillingClient → обязательно до 1 августа 2026). Никакой официальной или сторонней обёртки RevenueCat для RuStore не существует.

Следствие для skip-revenue: skip-revenue тоже не покрывает RuStore — это обёртка над RevenueCat.

Adapty — та же ситуация: поддерживает App Store + Google Play, RuStore нет.

7.3 RuStore Pay SDK: ключевые детали

Параметр Значение
Дедлайн миграции с BillingClient 1 августа 2026 — старый SDK перестаёт принимать платежи
Платёжные методы МИР, СБП, SberPay, карты (T-Pay и мобильный счёт — в роадмапе)
Авто-подгрузка карт Из VK ID — без ручного ввода → +20% к конверсии
Поддержка подписок Полная: trial / promo / main / grace / hold периоды
Sandbox Есть (в BillingClient не было)
Комиссия Не публикуется явно; конкурентная с Google Play
Фреймворки Kotlin/Java, React Native, Flutter, Unity, Godot, Unreal Engine, Defold
Swift / iOS нативный SDK Отсутствует

7.4 Архитектура для покрытия России

Единого SDK нет. Нужна абстракция на уровне приложения:

┌─────────────────────────────────────────────────────┐
│              PaymentProvider (протокол)             │
│  loadProducts() / purchase() / checkStatus()        │
└──────────┬───────────────────────────┬──────────────┘
           │                           │
           ▼                           ▼
  RevenueCatProvider           RuStoreProvider
  (iOS App Store +             (Android RuStore
   Android Google Play)         Pay SDK)
   skip-revenue пакет           Kotlin native
   Глобальные рынки             Только РФ Android
           │                           │
           └──────────┬────────────────┘
                      ▼
              WebCheckoutProvider
              (iOS РФ + fallback)
              ЮКасса / Tinkoff /
              CloudPayments
              → access token flow

Практически это значит:

  • Android: 2 отдельных flavor — googlePlay (RevenueCat) и ruStore (Pay SDK). Или одна сборка с детектом магазина.
  • iOS глобальные: RevenueCat + skip-revenue (как и планировалось).
  • iOS Россия: Веб-чекаут — пользователь нажимает «Оформить подписку» → открывается Safari/SFSafariViewController → платёж через ЮКасса → сервер выдаёт токен → приложение активирует доступ. Apple разрешает это через External Purchase Link Entitlement (в РФ де-факто выдают для Reader App категории и ряда других).

7.5 Веб-чекаут для iOS России: как работает

iOS пользователь
    ↓
[Кнопка "Подписаться"]
    ↓
SFSafariViewController → ваш сайт (yourapp.com/subscribe)
    ↓
Выбор плана + ввод данных карты
    ↓
ЮКасса / CloudPayments / Tinkoff
(МИР, СБП, SberPay, карты)
    ↓
Успешный платёж → сервер создаёт subscription record
    ↓
Redirect с токеном → ваше приложение deeplink
    ↓
Приложение активирует доступ (по токену или user ID)

Российские платёжные провайдеры для web-checkout:

Провайдер Комиссия Методы Подписки
ЮКасса (Сбербанк) 2.83.5% МИР, СБП, SberPay, карты, кошельки Рекуррентные + 54-ФЗ авто
CloudPayments (Тинькофф) 23.9% МИР, СБП, T-Pay, карты Лучшая поддержка подписок по API
Tinkoff Checkout 2.53% МИР, T-Pay, карты Есть, через API

CloudPayments — оптимален для подписочной модели: гибкий API, удобное управление рекуррентными платежами, owned by Тинькофф → надёжность.

7.6 Стратегия: стоит ли вообще заниматься РФ?

Аргументы за:

  • 144 млн человек; mental health ниша практически пустая в RuStore
  • RuStore — конкурентное преимущество (большинство международных разработчиков игнорируют)
  • Пользователи платят в рублях, конкуренция ниже → выше средний чек в соотношении

Аргументы против:

  • iOS Russia = мёртв до изменения политики. Веб-чекаут — сложная инфраструктура для соло-разработчика
  • RuStore Pay SDK требует отдельную Android-интеграцию без RevenueCat
  • VK/RuStore — политически неоднозначная зависимость
  • Юридическая сторона: приём платежей из РФ как резидент Кыргызстана — требует консультации

Рекомендация для соло-разработчика на старте:

Фаза 1 (MVP): Запуск только на глобальных рынках через RevenueCat + App Store + Google Play. Россию пропустить.

Фаза 2 (после первой выручки): Добавить RuStore Android через Pay SDK как отдельный flavor. Это даёт 100% Android-охват РФ.

Фаза 3 (если есть спрос): Веб-чекаут для iOS-аудитории РФ через CloudPayments. Только если data показывает значимый трафик.

7.7 Если всё-таки делать RuStore: минимальный план

□ 1. Зарегистрировать юрлицо или ИП (RuStore требует юридическое лицо)
□ 2. Зарегистрироваться в RuStore Console (console.rustore.ru)
□ 3. Создать отдельный Android productFlavor: ruStore
□ 4. Подключить Pay SDK (не BillingClient — он умирает 01.08.2026)
□ 5. Создать продукты в RuStore Console (подписки)
□ 6. Реализовать RuStorePaymentProvider абстракцию
□ 7. Протестировать в Sandbox
□ 8. Публикация → отдельный APK для RuStore подписан тем же ключом

Важно: RuStore требует, чтобы подпись APK совпадала с подписью билда в Console. Нельзя использовать debug keystore.


Документ обновлён май 2026. Источники: CNews, MacDailyNews, The Verge, RuStore Developer Docs, ASO World Russia 2026, RevenueCat Blog (app-to-web), Adapty Blog (alternative payments), softwarelead.pro (Pay SDK migration).


Связанные заметки