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

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

Від імерсивних застосунків до ігрових світів і 3D-сцен

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

Відвідати персоналізований сайт
Показано 11 з 11 послугУсі 242 послуг
Часті питання

Наші компетенції

Які етапи розробки гри?

Останні роботи

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    683
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    862
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    491
  • 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-збірка складніша через жорсткі вимоги 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. Прийнятний рівень для мобайлу — нижче 1%. Якщо вище — потрібен hotfix.
  • ANR-рейт у Google Play Console — нижче 0.47% (інакше Play може обмежити видимість додатку).
  • Рецензії в перші дні — реальна зворотна реакція. Часто виявляють проблеми на специфічних пристроях або ОС.

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