Коли ручна підготовка до релізу ігор перетворюється на проблему?
Студія робить реліз мобільної гри. За тиждень до дати менеджер згадує, що потрібно зібрати AAB, підписати, завантажити в Google Play. Збирач вручну запускає білд, чекає годину, забуває включити IL2CPP, білд крашиться на Android 12. Перезбірка — ще година. Паралельно треба переробити іконку під нові вимоги Google. У підсумку реліз зсувається на три дні. Наш досвід показує: ручна підготовка до релізу ігор — головне джерело затримок і багів, які не проявляються на машині розробника.
Як налаштувати CI/CD для збірок мобільних ігор?
Інструменти пайплайна
GameCI — open-source Docker-образи для Unity-збірок, що працюють поверх GitHub Actions, GitLab CI або будь-якого іншого CI-провайдера. Ключові компоненти: unity-builder (збирає під потрібну платформу), unity-test-runner (запускає Unity Test Framework перед збіркою), unity-return-license (повертає ліцензію — критично для Pro). Unity Cloud Build простіший, але менш гнучкий і дорогий при частих збірках. Fastlane — стандарт для фінальних кроків: підпис, завантаження в магазини, метадані.
Типовий пайплайн
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
androidKeystoreBase64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
androidKeystorePass: ${{ secrets.KEYSTORE_PASSWORD }}
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
Секрети, не змінні — всі ключі в secrets CI. AAB замість APK обов'язковий вже кілька років. Треки: internal → closed → open → production. Просування — ручне або Fastlane supply promote.
iOS-специфіка. Unity збирає Xcode-проект, потім xcodebuild. Потрібні Distribution Certificate та Provisioning Profile (App Store). Fastlane Match вирішує проблему синхронізації сертифікатів у команді:
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 замінює логін/пароль, не ламається при 2FA.
Як забезпечити стабільність збірок?
Використання CI/CD з автоматичним тестуванням та контролем версій знижує ризик людських помилок та гарантує відтворюваність збірок.
Чому App Store відхиляє близько третини перших сабмішенів?
Apple відхиляє 30–40% перших сабмішенів нових студій. Часті причини:
| Категорія | Типова проблема |
|---|---|
| Метадані | Скриншоти з чужими брендами, опис із згадуванням інших платформ |
| Техніка | Краш на iPad, відсутність IPv6 (вимога Apple актуальна багато років) |
| Політики | Sign in with Apple не реалізовано при сторонніх провайдерах; немає посилання на Privacy Policy |
Практика: перед сабмішеном пройти App Store Review Guidelines від початку до кінця — 2–3 години, що економлять 2–3 тижні.
Google Play більш лояльний: типові причини — застарілий targetSdkVersion, надмірні дозволи, невідповідність Data Safety Form.
Що включає підготовка до релізу ігор?
Чек-лист: 6 кроків, які ми закриваємо за вас
- Налаштування CI/CD (GameCI / Fastlane / Unity Cloud Build – під ключ)
- Підготовка метаданих та маркетингових матеріалів (скриншоти, іконки, прев'ю)
- Проходження рев'ю магазинів (супровід до публікації)
- Моніторинг перших 72 годин (Crashlytics, ANR-рейт, відгуки)
- Документація по пайплайну та доступи до сервісів
- Локалізація метаданих та налаштування вікових рейтингів (IARC, ESRB, PEGI, CERO)
Автоматизація пайплайна замінює ручну роботу цілого відділу. Наприклад, налаштування Continuous Integration через GameCI та Fastlane скорочує час підготовки до релізу ігор втричі — з 8 робочих годин до 2,5.
Як автоматизація пайплайна впливає на строки та бюджет?
Ручний реліз мобільної гри коштує значних коштів (зарплата інженера на 2–3 дні, тестування, переробки). Автоматизація CI/CD окупається в перші два місяці — знижує витрати на реліз на 40–60%. Тобто кожен наступний реліз обходиться значно дешевше.
Сравнение подходов:
| Етап | Ручний | Автоматичний (наш підхід) |
|---|---|---|
| Збірка AAB | 1 год (ризик помилки) | 20 хв (відтворювано) |
| Тестування на 20 пристроях | 2–3 год (ручний прогін) | 20 хв (паралельні тести) |
| Завантаження в Google Play + метадані | 1–1,5 год | 5 хв (Fastlane) |
| Разом на один реліз | 4–5,5 год | 45 хв |
Як автоматизація впливає на якість релізу?
Автоматизація усуває людський фактор, забезпечує послідовність збірок та дозволяє швидше виправляти помилки.
Результат: ми скорочуємо цикл від коміту до публікації в 6–8 разів. Для проектів з частими хотфіксами це різниця між тижневим очікуванням користувачів і виправленням за день.
Після релізу: моніторинг та оновлення
Краш-рейт < 1% (Firebase Crashlytics), ANR-рейт < 0.47% (Play Console) — інакше обмеження видимості. Phased rollout обов'язковий: спочатку 10%, потім 50%, потім 100% користувачів.
Наш досвід — 30+ релізів мобільних ігор, 5+ років на ринку, понад 50 проектів. Автоматизація CI/CD окупається в перші два місяці, знижуючи витрати на реліз на 40–60%.
Залиште заявку — ми проаналізуємо ваш пайплайн і запропонуємо рішення за 2 дні. Отримайте консультацію інженера з підготовки до релізу ігор під ключ.






