Услуги по подготовке к релизу и публикации игр

Наша компания по разработке видеоигр ведет независимые проекты, совместно с клиентом создает игры и оказывает дополнительные операционные услуги. Опыт нашей команды позволяет нам охватить все игровые платформы и разработать потрясающий продукт, соответствующий видению клиента и предпочтениям игроков.

От иммерсивных приложений до игровых миров и 3D-сцен

Наша выделенная команда для VR/AR/MR-разработки, Unity-продакшна и 3D-моделирования и анимации с собственными кейсами и презентациями.

Посетить персонализированный сайт
Показано 11 из 11 услугВсе 242 услуг
Часто задаваемые вопросы
Наши компетенции
Какие этапы разработки игры?
Последние работы
  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    671
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    860
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    490
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    533

Релиз и публикация

Первый самостоятельный релиз мобильной игры — это несколько дней непрерывного стресса: проблемы с подписью сертификатов в последний момент, скриншоты не подходят под требования App Store, ревью отклоняют из-за пункта в EULA, который никто не читал. Студии, которые прошли через это однажды, выстраивают процесс, чтобы не повторять. Именно этот процесс мы берём за основу с первого дня проекта.

CI/CD для мобильных сборок

Ручная сборка и публикация — это не процесс, это лотерея. «Работает на моей машине» — не релизный критерий. Автоматизация пайплайна решает три проблемы: воспроизводимость сборок, скорость итераций и исключение человеческого фактора при подписи и заливке.

Инструменты пайплайна

GameCI — open-source Docker-образы для Unity-сборок. Работает поверх GitHub Actions, GitLab CI или любого другого CI-провайдера. Ключевые компоненты:

  • unity-builder — собирает проект под нужную платформу (Android, iOS, WebGL, Standalone)
  • unity-test-runner — запускает Unity Test Framework перед сборкой
  • unity-return-license — возвращает лицензию Unity после завершения задачи (критично для Pro-лицензий)

Unity Cloud Build — облачное решение от Unity. Проще в настройке, не требует собственного CI-сервера, но менее гибкое и дороже при высоком числе сборок. Хорошо подходит для небольших студий без DevOps-экспертизы.

Fastlane — стандарт для автоматизации финальных шагов: подпись, загрузка в магазины, управление метаданными. Работает как дополнение к GameCI или Unity Cloud Build.

Типовой пайплайн

# .github/workflows/build-mobile.yml (упрощённо)

jobs:
  test:
    name: Run Unity Tests
    uses: game-ci/unity-test-runner@v4
    with:
      unityVersion: 2022.3.20f1
      testMode: playmode

  build-android:
    name: Build Android
    needs: test
    uses: game-ci/unity-builder@v4
    with:
      targetPlatform: Android
      androidKeystoreName: release.keystore
      androidKeystoreBase64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
      androidKeystorePass: ${{ secrets.KEYSTORE_PASSWORD }}
      androidKeyaliasName: ${{ secrets.KEY_ALIAS }}
      androidKeyaliasPass: ${{ secrets.KEY_PASSWORD }}

  upload-to-play:
    name: Upload to Google Play (Internal Track)
    needs: build-android
    uses: r0adkll/upload-google-play@v1
    with:
      serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
      packageName: com.yourcompany.yourgame
      releaseFiles: build/Android/*.aab
      track: internal

Несколько важных деталей этой схемы:

Секреты, не переменные. Keystore, сертификаты, service account JSON — всё это хранится в secrets CI-провайдера, а не в репозитории. Попадание keystore в git — потенциальная компрометация ключей подписи.

AAB вместо APK для Google Play. App Bundle обязателен с 2021 года для новых приложений. Он меньше и позволяет Play Dynamic Delivery доставлять только нужные нативные библиотеки под каждое устройство.

Треки публикации. В Google Play четыре трека: internal → closed testing → open testing → production. Каждый автоматический билд уходит на internal. Продвижение по трекам — ручное или через Fastlane supply promote.

iOS-специфика

iOS-сборка сложнее Android из-за жёстких требований Apple к подписи.

Xcode и Provisioning Profiles. Unity собирает Xcode-проект, который затем компилируется через xcodebuild. Для CI нужно:

  • Сертификат подписи (Distribution Certificate) в keychain агента
  • Provisioning Profile (App Store Distribution) прикреплён к Bundle ID

Fastlane Match решает проблему распределения сертификатов в команде: все сертификаты и профили хранятся в зашифрованном git-репозитории, каждый разработчик и CI-агент синхронизирует их через fastlane match.

# Fastfile
lane :build_ios do
  match(type: "appstore", readonly: true)
  build_app(
    workspace: "Unity-iPhone.xcworkspace",
    scheme: "Unity-iPhone",
    export_method: "app-store"
  )
  upload_to_testflight
end

App Store Connect API Key — заменяет логин/пароль Apple ID для CI. Fastlane и xcodebuild поддерживают аутентификацию через API Key, что надёжнее и не ломается при двухфакторной аутентификации.

Процесс ревью: где чаще всего отклоняют

App Store (Apple)

Apple отклоняет примерно 30-40% первых сабмишенов новых студий. Наиболее частые причины:

Метаданные и маркетинговые материалы:

  • Скриншоты содержат UI устройства или чужие бренды
  • Описание упоминает конкурентов или другие платформы («также доступно на Android»)
  • Иконка нарушает гайдлайны (нет альфа-канала, неправильный размер)

Технические требования:

  • Приложение крашится при ревью (Apple тестирует на iPad, даже если игра только для iPhone)
  • Отсутствует поддержка IPv6 — Apple требует с 2016 года, но до сих пор отклоняют
  • Не реализован Sign in with Apple, если есть сторонние провайдеры авторизации (Google, Facebook)

Контент и политики:

  • Внутриигровые покупки не раскрыты в метаданных (нужен флаг «In-App Purchases»)
  • Отсутствует ссылка на Privacy Policy прямо в App Store Connect (не в игре, а в записи приложения)
  • Loot boxes без раскрытия вероятностей в юрисдикциях, где это обязательно

Практика: перед первым сабмишеном проходите App Store Review Guidelines от начала до конца. Это 2-3 часа, которые экономят 2-3 недели.

Google Play

Google Play более лояльный и автоматизированный. Типичные причины отклонения:

  • Target API Level — Google требует актуальный targetSdkVersion. На 2024 год — минимум API 34. Unity 2022.3+ выставляет это автоматически.
  • Разрешения — запрос избыточных разрешений (READ_EXTERNAL_STORAGE без обоснования)
  • Политика данных — Data Safety Form в Play Console должна соответствовать реальному поведению приложения. Если используете Firebase Analytics — укажите это явно.

Маркетинговые материалы

Технически это не разработка, но без правильно подготовленных материалов ни App Store, ни Google Play не пустят. Требования:

App Store:

  • Скриншоты: 6.7" (iPhone 15 Pro Max), 12.9" iPad Pro — обязательные размеры
  • Превью-видео: 15-30 секунд, формат H.264 или HEVC
  • Иконка: 1024×1024 PNG без закруглённых углов (iOS сам закругляет)

Google Play:

  • Feature Graphic: 1024×500 (баннер вверху страницы приложения) — часто упускают
  • Скриншоты: минимум 2, максимум 8 на тип устройства
  • Иконка: 512×512 PNG с альфа-каналом

App Store Optimization (ASO): ключевые слова в названии и поле Keywords (iOS) или в описании (Android) напрямую влияют на органические установки. Инструменты: AppFollow, Sensor Tower, data.ai.

Локализация и региональные требования

Если игра выходит в нескольких регионах, локализация затрагивает не только текст, но и процесс публикации:

  • Метаданные в магазинах нужно локализовать отдельно — App Store Connect и Google Play Console позволяют добавлять переводы для каждого языка
  • Возрастные рейтинги различаются: IARC (глобально), ESRB (США), PEGI (Европа), CERO (Япония). В App Store Connect и Play Console есть встроенные анкеты для IARC-рейтинга
  • Китайский рынок требует отдельного лицензирования (ICP-лицензия, версионное согласование с регулятором) — это отдельный проект минимум на 6 месяцев

После релиза: мониторинг и обновления

Релиз — не финальная точка. Первые 72 часа критичны:

  • Краш-рейт мониторим через Firebase Crashlytics. Приемлемый уровень для mobile — ниже 1%. Если выше — нужен hotfix.
  • ANR-рейт в Google Play Console — ниже 0.47% (иначе Play может ограничить видимость приложения).
  • Отзывы в первые дни — реальная обратная связь. Часто выявляют проблемы на специфических устройствах или ОС.

Phased rollout — постепенное развёртывание — обязателен для значимых обновлений. Google Play позволяет выпускать обновление сначала на 10%, затем 50%, затем 100% пользователей. App Store — аналогично через Phased Release. Это позволяет поймать критический баг до того, как он ударит по всей аудитории.