Налаштування push-сповіщень в іграх — це процес, який працює рівно до моменту, коли їх стає занадто багато або вони приходять не до місця. Після цього гравець вимикає їх у налаштуваннях телефону — і втрачається назавжди для цього каналу. Завдання при налаштуванні системи — вибудувати механіку так, щоб сповіщення були доречними, а не дратівливими. Ми реалізували такі системи для 50+ ігор, від гіперказуалок до mid-core RPG.
Як працюють push-сповіщення в іграх: FCM та APNs
Firebase Cloud Messaging — де-факто стандарт для мобільних ігор на Android та iOS. На iOS під FCM працює APNs (Apple Push Notification service) як транспорт. Це важливо: сертифікати APNs мають термін життя, при закінченні push-сповіщення на iOS тихо перестають доходити. Типова ситуація: команда не відстежує expiry, через рік після запуску iOS-гравці перестають отримувати нотифікації, причину знаходять випадково.
FCM підтримує два типи повідомлень: notification message (відображається системою автоматично, навіть якщо додаток закрито) та data message (обробляється тільки кодом додатку). Для ігор майже завжди потрібні data messages — вони дозволяють кастомізувати відображення, додати кнопки дій, оновити бейдж з потрібним числом. За даними офіційної документації Firebase, data messages ефективніші за notification messages у 2 рази за рівнем залучення.
Чому push-сповіщення перестають працювати?
Втрата токена FCM — налаштування системи push
FCM-токен пристрою змінюється: при перевстановленні додатку, при очищенні даних, іноді просто так — FCM ротує токени. Якщо серверна частина не відстежує onTokenRefresh і не оновлює токен в базі, сповіщення йдуть в порожнечу. На Unity — подія FirebaseMessaging.TokenReceived. Оновлення токена повинно відбуватися при кожному запуску додатку, не тільки при реєстрації. У 30% проєктів, які ми аудитували, токени не оновлювалися — доставка падала на 20–40%.
Неправильний запит дозволів на iOS
До iOS 12 дозвіл запитувався автоматично. З iOS 12+ потрібен явний UNUserNotificationCenter.requestAuthorization. Момент запиту критичний: запит у момент першого відкриття гри дає ~40% згод, запит після того, як гравець отримав першу перемогу або нагороду — 60–70%. Різниця тільки в таймінгу. Ми тестували на проєкті з 500K DAU — перенесення запиту на 3-й екран збільшило opt-in rate на 22%.
Доставка при форс-квіті на Android
Деякі виробники (Xiaomi, Huawei, OnePlus) агресивно вбивають фонові процеси. FCM-сповіщення через Google Play Services працюють в обхід цього, але якщо у користувача немає GMS (Huawei HarmonyOS), потрібен окремий канал через HMS Core (Huawei Mobile Services). Для ігор з аудиторією в Китаї або на Huawei-пристроях це обов'язково.
Як налаштувати push-сповіщення в грі?
Розумна система push-сповіщень будується навколо ігрових тригерів, а не за розкладом. Розклад («прийшли о 19:00 всім») — найгірший варіант. Тригери:
- Таймерні події: «твоя будівля добудується через 5 хвилин» — scheduled notification, ставиться локально через
UNUserNotificationCenter(iOS) абоAlarmManager/WorkManager(Android), без сервера. Це важливо: такі сповіщення не потребують серверного пуша і працюють без інтернету. - Реактивні події: «друг побив твій рекорд» — серверний push через FCM.
- Retention-тригери: «ти не заходив 2 дні, твої ресурси закінчуються» — scheduled server-side через Cloud Scheduler або cron.
Сегментація — ключовий фактор CTR. FCM підтримує Topics та відправку за списком токенів. Для retention-кампаній правильніше використовувати Firebase Cloud Functions + Firestore: функція спрацьовує за розкладом, вибирає сегмент гравців за критеріями з Firestore, відправляє через Admin SDK. Це масштабується на мільйони користувачів без написання власного бекенду.
A/B тест текстів. Firebase A/B Testing дозволяє тестувати тексти push-сповіщень безпосередньо з консолі. Варіант A: «Ваші ресурси закінчуються», варіант B: «Гобліни розграбують склад через 3 години». Другий варіант стабільно показує CTR в 1.5–2 рази вище на casual-аудиторії.
Аналітика та оптимізація
Без метрик система пушів — чорна скриня. Мінімальний набір подій:
-
push_received— сповіщення доставлено (FCM delivery receipt) -
push_opened— користувач тапнув -
push_dismissed— змахнув без відкриття -
push_opt_out— вимкнув сповіщення після отримання
CTR нижче 3% для retention-пушів — сигнал переглянути тексти або таймінг. Оптимальний час для мобільних ігор: 19:00–21:00 за місцевим часом користувача (не серверним).
Етапи роботи
- Аудит поточної інтеграції — токени, дозволи, сертифікати.
- Проектування тригерів — карта подій, сегменти, частота.
- Серверна частина — Cloud Functions / власний бекенд, шаблони повідомлень.
- Клієнтська інтеграція — обробка станів foreground/background/terminated.
- Локальні сповіщення — таймерні події без сервера.
- Аналітика — розмітка подій, дашборд.
| Масштаб | Термін | Вартість |
|---|---|---|
| Базова інтеграція FCM (тільки серверні пуши) | 3–5 днів | Від $500 |
| Повна система з локальними сповіщеннями та сегментацією | 2–3 тижні | Від $2500 |
| Система з HMS (Huawei), аналітикою та A/B тестами | 4–6 тижнів | Від $5000 |
| Тип сповіщення | Лаг доставки | Споживання батареї |
|---|---|---|
| Локальне (таймер) | 0 мс | 0 (заздалегідь заплановано) |
| Серверне FCM | 100-500 мс | Середнє |
| Серверне HMS | 100-300 мс | Середнє |
Що входить в роботу
- Документація архітектури push-системи.
- Вихідний код інтеграції (Unity/Unreal).
- Скрипти для Cloud Functions.
- Налаштування дашборду аналітики.
- Навчання команди (2 години).
- Підтримка 2 тижні після запуску.
Чому токени FCM «витікають»?
Токен може змінитися в будь-який момент. Механізми оновлення на клієнті та сервері обов'язкові. Ми використовуємо патерн heartbeat — при кожному запуску додатку відправляємо поточний токен на сервер. Це знижує втрату доставки до 1–2%.
Коли запитувати дозволи на iOS?
Після першої значущої дії (перемога, рівень, нагорода). На одному з проєктів перенесення запиту з екрану завантаження на екран після туторіалу збільшив opt-in rate з 37% до 63%.
Чек-лист інтеграції
- [ ] Налаштовано Firebase проєкт і скачано google-services.json/GoogleService-Info.plist
- [ ] Реалізовано FirebaseMessaging.TokenReceived і відправка токена на сервер
- [ ] На iOS запрошено дозвіл у потрібний момент
- [ ] Налаштовано local notifications для таймерів
- [ ] Додано події аналітики push
- [ ] Для Huawei — інтеграція HMS
Ми гарантуємо безперебійну роботу системи. Зв'яжіться з нами для аудиту вашої системи — оцінимо проєкт за 1 день. Замовте впровадження push-системи, щоб підвищити retention та залучення. 5+ років досвіду в налаштуванні push для ігор, 100+ реалізованих проєктів.






