Дорожная карта

Куда движется Otapush. Пункты упорядочены приблизительно; ничто здесь не является обещанием с датой.

Сейчас (текущий релиз)

  • Expo Updates Protocol v1 для iOS и Android.
  • Проекты Expo managed и bare React Native (otapush init патчит app.json, или AndroidManifest.xml + Expo.plist для bare RN; публикация использует expo export или react-native bundle).
  • Каналы с состоянием по платформам, promote и откат.
  • Подпись кода (пары ключей RSA на приложение).
  • Статистика: MAU с лимитом бесплатного тарифа, checks/downloads/installs/failures по дням, разбивки по каналам и платформам.
  • CLI (otapush) для полного цикла публикации.
  • Самостоятельная оплата тарифов: карта и СБП в рублях, счёт для юрлиц. См. Тарифы и оплата.

Дальше

  • Команды и роли. Несколько пользователей в организации, роли owner/developer/viewer, контроль доступа по приложениям.
  • Таргетинг обновлений. Процентные раскатки по каналам, пауза/возобновление, таргетинг по версии приложения.
  • Отчёты об ошибках запуска. Сервер уже считает тип события failure, и в портале есть место, где его показать, но сообщать о нём некому: у expo-updates нет колбэка на неудачный запуск. Нужен небольшой клиентский хук и эндпоинт, который его примет.
  • Вебхуки. Уведомления в Slack/Discord/CI о публикациях, откатах и всплесках частоты ошибок.

Позже

  • Оплата не из России. Сегодня оплата картой проходит в рублях через российский эквайринг. Международные способы оплаты пока не самостоятельные — напишите нам, договоримся.
  • Другие стеки. Протокольная часть специфична для React Native, но механика каналов/раскаток обобщается. На столе — ленты обновлений для Capacitor и десктопа (Electron).
  • Дифференциальные обновления. Отдавать диффы бандлов вместо полных бандлов, чтобы уменьшить объём загрузок.

Не-цели

  • Сервис сборок. Сборка бинарников намеренно остаётся на вашем CI (gradlew, xcodebuild, fastlane) — Otapush это слой доставки и управления обновлениями, а не замена EAS Build.
  • Lock-in. Сервер говорит по задокументированному Expo Updates Protocol v1, а приложение использует штатный клиент expo-updates — уход стоит одного URL в конфигурации, см. Протокол.

Чего-то не хватает?

Если пробел на этой странице мешает вам работать — напишите нам: то, о чём действительно просят, поднимается в списке. Единственное ограничение, которое важнее всего остального, — совместимость со штатными клиентами expo-updates.