Розробка внутрішньоігрової монетизації
Монетизація — це частина ігрової механіки, а не надбудова над нею. Коли систему покупок додають наприкінці розробки, вона або порушує ігровий баланс, або сприймається гравцем як інородне тіло. Обидва варіанти приводять до поганих відзивів та низького ARPU.
Типи монетизації та їх технічна реалізація
IAP (In-App Purchases)
Основний інструмент для мобільних ігор. На Unity реалізується через Unity IAP пакет — унітарний API для Google Play Billing та Apple StoreKit. Базова інтеграція нескладна, але є нюанси:
Receipt validation. Перевірка чека на клієнті безполезна — будь-який рутований Android дозволяє згенерувати фейковий чек. Серверна валідація обов'язкова: клієнт відправляє receipt на бекенд, бекенд перевіряє через Google Play Developer API або Apple App Store Server API, потім начисляє валюту. Без цього будь-який читер отримує безплатну валюту за 5 хвилин.
Consumable vs. Non-consumable vs. Subscription. Consumables (кристали, монети) потребують підтвердження трансакції після начислення: controller.ConfirmPendingPurchase(product). Якщо не викликати — Google/Apple повернуть покупку при наступному запуску. Non-consumables (розблокування контенту) повинні відновлюватися через RestorePurchases() — це вимога App Store.
Офлайн-стійкість. Покупка може початися при хорошому з'єднанні та завершитися при поганому. Зберігаємо стан трансакції локально (PlayerPrefs або SQLite), обробляємо pending purchases при наступному запуску.
Ігрова валюта та економіка
Подвійна валюта (м'яка + тверда) — стандарт для мідкор ігр. Технічна реалізація:
- Бекенд як джерело істини. Баланс валют зберігається на сервері, клієнт — тільки відображає. Локальний кеш для відзивчивості UI, але завжди синхронізується з сервером. PlayFab Virtual Currency — готове рішення з трансакційністю та історією операцій.
- Захист від race condition. Паралельні запити на списання (одночасне нажиму кнопки покупки) повинні обробляися атомарно. PlayFab CloudScript виконується в одному потоці на користувача — це вирішує проблему. Власний бекенд потребує транзакцій у БД.
- Аудит трансакцій. Кожне змінення балансу — запис у лог з причиною, сумою, timestamp. Без цього неможливо розслідувати скарги гравців та детектувати аномалії.
Реклама (Ad Monetization)
Для гіпер-казуальних та казуальних ігор — основний джерело доходу. Стек:
- UnityAds — найпростіша інтеграція для Unity-проектів.
- IronSource / AppLovin MAX — mediation платформи, дозволяють конкурувати кільком ad-сітям за показ. Ставки вищі на 20-40% порівняно з однією сіттю.
- Rewarded Video потребує коректної інтеграції з геймплеєм: показуємо рекламу тільки в органічних точках (Game Over, перед бонусним рівнем), не примусово.
Interstitial між рівнями — ставимо через лічильник, не після кожного рівня. Частота визначається A/B тестуванням через Firebase Remote Config або PlayFab Experiments.
LiveOps та події
Тимчасові події, battle pass, сезонний контент — це окрема інфраструктура. Конфігурація подій живе на сервері, клієнт скачує при запуску. PlayFab Title Data або власне CMS. Важливо: клієнт не повинен хардкодити дати подій — це гарантований баг при зміні розписання.
Battle Pass технічно: track прогресу в PlayFab Statistics, milestone rewards через PlayFab CloudScript, відображення прогресу через Addressable-бандли з іконками наград (щоб не раздувати base build).
Чому монетизацію неможна додавати наприкінці
Реальний кейс: мобільна match-3, баланс прогресії спроектований під fun, без урахування монетизації. На етапі інтеграції IAP з'ясувалося, що гравець проходить весь контент за 4 години без однієї покупки. Пришлось переробляти криву складності та додавати energy system — що потребувало переробки 60% геймплейних систем.
Монетизаційна модель повинна бути частиною GDD з першого дня. Це визначає: криву прогресії, структуру валют, точки конверсії, цінність кожного ресурсу.
Процес роботи
Аудит або проектування (3-5 днів). Аналіз жанру та конкурентів, вибір монетизаційної моделі, проектування економіки (sink/source баланс ресурсів).
Бекенд-інфраструктура (1-2 тижні). Настройка PlayFab або власного бекенду: валюти, каталог предметів, CloudScript для трансакцій, серверна валідація чеків.
Клієнтська інтеграція (1-2 тижні). Unity IAP, UI магазину, інтеграція з геймплеєм, обробка edge cases (нема мережі, failed purchase, restore).
Аналітика (3-5 днів). Настройка воронок конверсії в Firebase/Amplitude: перегляд магазину → ініціація покупки → успішна покупка. Відслідковування retention у розрізі монетизаційних сегментів.
QA. Sandbox-тестування IAP на тестових аккаунтах Google та Apple. Перевірка всіх edge cases: відмена покупки, failed payment, відновлення покупок.
| Тип інтеграції | Терміни |
|---|---|
| Базовий IAP (1-3 продукти) | 1 тиждень |
| IAP + реклама + аналітика | 2-3 тижні |
| Повна економіка + battle pass | 1-2 місяці |
| LiveOps інфраструктура | 2-4 тижні (залежить від стека) |
Вартість розраховується після аналізу вимог та вибраного стека.





