Перейти к содержимому
supastack
Обзор документации
WebNext.js

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /ru/docs/mobile/external-accounts.md (or send Accept: text/markdown).

Создайте мобильные аккаунты

Аккаунты Expo, Apple, Google Play и RevenueCat — для чего каждый и когда его создавать.

Задать вопрос об этом руководстве
Открыть в

Когда они нужны

Ежедневная мобильная настройка не требует ни одного из них: Expo Go плюс работающий бэкенд — EXPO_PUBLIC_API_URL в apps/mobile/.env.local — покрывает предпросмотр экранов и тестирование входа.

Создавайте эти аккаунты, когда выходите за рамки Expo Go: аккаунт Expo нужен для облачных сборок EAS, магазинные аккаунты дают возможность отправки, RevenueCat проверяет нативные покупки, а программа Apple также обязательна для Sign in with Apple при проверке в магазине. Два из них стоят денег: Apple Developer — $99 в год, Google Play — одноразовая регистрация за $25; у Expo и RevenueCat есть бесплатные уровни.

Expo + EAS

1. Откройте expo.dev → Sign up, создайте аккаунт и подтвердите почту.

2. В терминале выполните npx eas-cli@latest login и введите те же креденшелы — eas — инструмент командной строки для сборок и отправок Expo Application Services.

3. Из папки apps/mobile выполните npx eas-cli@latest init, чтобы связать кодовую базу с проектом EAS; он записывает ID проекта в конфигурацию app.json/app.config.ts. Профили сборки eas.json уже поставляются.

Ожидается: npx eas-cli@latest whoami печатает имя вашего аккаунта, и проект появляется в вашем дашборде expo.dev.

npx eas-cli@latest login
cd apps/mobile
npx eas-cli@latest init
npx eas-cli@latest whoami

Apple Developer Program

1. Откройте developer.apple.com → Account → зарегистрируйтесь в Apple Developer Program — $99 в год; индивидуального членства достаточно.

2. Регистрация требует Apple ID с включённой двухфакторной аутентификацией и юридическое имя, совпадающее с вашим способом оплаты; одобрение может занять день-два.

3. Этот единственный аккаунт покрывает два требования: отправку iOS-приложения в App Store и Sign in with Apple — App Review требует предлагать его всякий раз, когда iOS-приложение поставляет сторонний социальный вход вроде Google или GitHub. Комплект подключает его через AUTH_APPLE_ENABLED плюс пару APPLE_CLIENT_ID/APPLE_CLIENT_SECRET на бэкенде.

То же членство покрывает и подпись десктопа macOS — руководство по десктопным аккаунтам объясняет эту сторону.

Google Play Console

1. Откройте play.google.com/console, оплатите одноразовую регистрацию за $25 и создайте аккаунт разработчика на своё имя или имя компании.

2. Пока остановитесь на аккаунте разработчика — сама запись приложения создаётся внутри Play Console во время отправки: первая загрузка нового приложения всегда происходит там вручную, а eas submit берёт на себя со второго релиза.

RevenueCat — только если приложение продаёт контент

Пропустите этот раздел полностью, если мобильное приложение не продаёт цифровой контент или подписки. Если продаёт: 1. откройте revenuecat.com и создайте бесплатный аккаунт, 2. создайте проект, 3. зарегистрируйте в нём iOS-приложение (подключается к App Store Connect) и Android-приложение (имя пакета Play плюс сервисные креденшелы).

4. Создайте продукты и entitlement, соответствующий вашим магазинным продуктам — комплект проверяет настроенный entitlement (REVENUECAT_ENTITLEMENT_ID, REVENUECAT_ENTITLEMENT_KEY) на стороне сервера перед выдачей доступа.

5. Скопируйте публичный SDK-ключ каждой платформы в apps/mobile/.env.local и включите провайдера с обеих сторон, как ниже. SDK-ключи — публичные клиентские значения; REVENUECAT_SECRET_API_KEY и REVENUECAT_WEBHOOK_AUTHORIZATION — только для сервера и принадлежат окружению бэкенда — никогда в переменной EXPO_PUBLIC_.

# apps/mobile/.env.local
EXPO_PUBLIC_MOBILE_PURCHASES_PROVIDER=revenuecat
EXPO_PUBLIC_REVENUECAT_IOS_API_KEY=your-public-ios-sdk-key
EXPO_PUBLIC_REVENUECAT_ANDROID_API_KEY=your-public-android-sdk-key

# apps/web/.env.local — server side
MOBILE_PURCHASES_PROVIDER=revenuecat
REVENUECAT_SECRET_API_KEY=your-secret-api-key
REVENUECAT_WEBHOOK_AUTHORIZATION=your-webhook-auth-value

Провайдеры входа на мобильных

Мобильный вход переиспользует те же OAuth-приложения Google и GitHub, которые вы создаёте для веба — колбэки остаются {APP_URL}/api/auth/callback/<provider>, потому что Better Auth обрабатывает серверную сторону, а приложение возвращается через свою deep-link схему EXPO_PUBLIC_APP_SCHEME. Дополнительное приложение провайдера не нужно только потому, что клиент нативный.

Исключение — проверка в магазине iOS: поставка кнопок Google или GitHub на iOS требует также предлагать Sign in with Apple, поэтому аккаунт Apple Developer выше служит и зависимостью входа.

Готово означает

Проверьте каждый аккаунт, прежде чем двигаться дальше: npx eas-cli@latest whoami печатает ваш аккаунт Expo, и проект виден в дашборде; членство Apple Developer читается как Active; аккаунт Play Console существует; проект RevenueCat перечисляет оба магазинных приложения с продуктами и entitlement, а его ключи в правильных env-файлах.

Затем продолжайте по порядку — подключите проект, настройте покупки, если приложение продаёт контент, соберите для устройства, отправьте:

Часто задаваемые вопросы

14 вопросов

Что такое supastack?

supastack — модульная основа для создания SaaS-продуктов с AI. Она объединяет общую инфраструктуру, чтобы вы могли сосредоточиться на продуктовых функциях.

Поддерживает ли он web и mobile?

Да. supastack включает приложения Next.js и Expo как отправные точки для web- и мобильных интерфейсов.

Какая аутентификация включена?

Better Auth покрывает e-mail/пароль, OTP и социальный вход. Личные воркспейсы провижинируются вместе с аккаунтом, чтобы продуктовые записи были ограничены с первого дня.

Как он поддерживает AI?

supastack включает настраиваемый мультипровайдерный AI, учёт использования, бюджеты и зашифрованную поддержку bring-your-own-key.

Как обрабатываются подписки?

Для продуктов на ките Stripe-биллинг, подписки и права доступа образуют основу платного доступа. Секреты провайдеров остаются только на сервере.

Где живёт мой продуктовый код?

Продуктовые функции остаются в отдельном коде, а продукт настраивает и интегрирует модули основы supastack.

Как устроены цены supastack?

Кит — разовая покупка с пожизненными обновлениями: один фреймворк за $249 (временная стартовая цена — скидка $100 от стандартной цены $349) или все фреймворки (Next.js, iOS, Android) за $499 (временная стартовая цена — скидка $100 от стандартной цены $599), плюс $75 за каждое дополнительное место разработчика. Без подписки на кит. Оплата на этом сайте доставляет лицензионный ключ по e-mail, доступ к репозиторию — через приглашение GitHub.

Как воркспейсы ограничивают мои данные?

Записи пользователей ограничены по workspaceId. Идентичность, права доступа, AI-использование, события биллинга и записи аудита остаются внутри границы личного воркспейса.

Как работают фоновые задачи?

Trigger.dev — явный рантайм задач. Контракт JobRunner обещает только enqueue, status и cancel — семантика workflow остаётся специфичной для Trigger.dev и явной.

Чем почта отличается от рассылок?

Транзакционная почта покрывает продуктовые сценарии вроде уведомлений о завершении. Холодные рассылки и кампании — забота продукта, вне почтового модуля этого кита.

Как работают покупки в мобильном приложении?

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

Где хранятся ключи AI-провайдеров?

Bring-your-own-key креденшелы зашифрованы и остаются только на сервере. Ключи удаляются из логов; использование и бюджеты видны на уровне воркспейса.

Какие способы оплаты принимает оформление заказа?

Оформление заказа на Stripe принимает карты, а после включения кошельков в аккаунте Stripe может также предлагать Alipay и WeChat Pay — удобно для покупателей из Китая. Авторизации кошельков подтверждаются асинхронно, поэтому страница лицензии обновляется, как только платёж завершается.

Могу ли я получить возврат средств?

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

RU
Тема