Связаться с нами

Оставьте заявку — перезвоним за 15 минут

Или свяжитесь напрямую

+7 (705) 966-25-25
Алматы, ул. Шевченко 165Б, офис 511

Push-уведомления Firebase для мобильного приложения: полный гайд

Коротко (TL;DR)Push-уведомления возвращают пользователей в приложение в 2-3 раза чаще чем email. Firebase Cloud Messaging (FCM) - бесплатный сервис от Google для отправки push на iOS и Android. Гайд от A-LUX по настройке и грамотному использованию.

Что такое Firebase Cloud Messaging

Push-уведомления возвращают пользователей в приложение в 2-3 раза чаще чем email. Firebase Cloud Messaging (FCM) - бесплатный сервис от Google для отправки push на iOS и Android. Гайд от A-LUX по настройке и грамотному использованию.

A-LUX - веб-студия в Алматы с 19 годами опыта. Настроили FCM для 50+ мобильных приложений в Казахстане. Делимся практическими советами.

FCM - это сервис рассылки сообщений от Google. Бесплатный для любого объёма (никаких лимитов на сообщения). Поддерживает:

  • Push-уведомления на iOS и Android
  • Web push (на сайтах)
  • Отложенная отправка
  • Сегментация по топикам, регионам, версиям приложения
  • A/B тесты сообщений

В 2026 FCM v1 API - текущий стандарт. Старый legacy API устарел и отключается с 2024.

Зачем push-уведомления

Метрики использования push в Казахстане (наши данные):

  • Open rate push: 18-25% (vs 8-15% email)
  • Conversion в действие: 4-12% (зависит от персонализации)
  • Retention boost: +25-40% к D7 retention при правильном использовании
  • Re-engagement: возвращает 30-50% пользователей которые не открывали приложение 7+ дней

Push особенно важен для:

  • E-commerce / [доставка еды](/blog/prilozhenie-dlya-restorana-dostavki-edy-almaty/) (статус заказа)
  • [Салоны красоты](/blog/razrabotka-prilozheniya-salon-krasoty-kazahstan/) (напоминание о записи)
  • Финансовые приложения (баланс, операции)
  • Новости и контент

Архитектура FCM

``

Backend (ваш сервер)

↓ HTTPS POST с payload

Firebase Cloud Messaging

↓ оптимизированная доставка

Google Play Services (Android) / Apple Push Notification Service (iOS)

↓ доставка на устройство

Мобильное приложение

↓ обработка / отображение

Пользователь

``

Backend хранит:

  • FCM-токен каждого пользователя (получается на устройстве при первом запуске)
  • Сегменты пользователей (город, тип, поведение)
  • Историю отправок и метрики

Настройка для нового приложения

Шаг 1: создать Firebase проект

  • https://console.firebase.google.com → Add project
  • Имя проекта (напр. alux-restaurant-app)
  • Выбрать Google Analytics (рекомендуется)
  • Создать

Шаг 2: добавить iOS приложение

  • iOS app → Bundle ID (kz.a-lux.restaurant)
  • Скачать GoogleService-Info.plist → добавить в Xcode проект
  • В Apple Developer аккаунте создать APNs Authentication Key (.p8 file). [Гайд по Apple Developer аккаунту в Казахстане](/blog/apple-developer-akkaunt-kazahstan-registraciya/).
  • Загрузить .p8 в Firebase Cloud Messaging → APNs Authentication Key
  • Включить Push Notifications capability в Xcode

Шаг 3: добавить Android приложение

  • Android app → package name (kz.alux.restaurant)
  • Скачать google-services.json → положить в android/app/
  • Подключить Firebase SDK (gradle)

Шаг 4: SDK в коде

Для Flutter:

``dart

firebase_messaging: ^15.0.0

firebase_core: ^3.0.0

``

Для нативного iOS / Android - использовать соответствующие SDK Firebase.

Получение FCM-токена

Каждое устройство имеет уникальный FCM-токен. Этот токен надо:

  • Получить при первом запуске
  • Отправить на ваш backend
  • Сохранить с привязкой к user_id
  • Обновлять при изменении токена (FCM может ротировать)

``dart

// Flutter

final token = await FirebaseMessaging.instance.getToken();

// POST на ваш backend: {user_id: 123, fcm_token: token}

``

Отправка push с backend

```python

Python пример (firebase-admin SDK)

from firebase_admin import messaging

message = messaging.Message(

notification=messaging.Notification(

title='Ваш заказ доставлен',

body='Приятного аппетита!',

),

data={'order_id': '12345', 'screen': 'order_details'},

token=user_fcm_token,

)

response = messaging.send(message)

```

Лучшие практики push в Казахстане

1. Спрашивайте разрешение в правильный момент

iOS пользователь даёт разрешение ОДИН раз. Если откажет - больше не спросит (только через настройки). Не спрашивайте при первом запуске:

  • Плохо: «Разрешите push» в первые 5 секунд
  • Хорошо: после первого успешного действия (заказ оформлен, запись сделана)

В Android разрешение менее критично - пользователь может включить позже.

2. Сегментируйте

Не отправляйте всем одно сообщение. Сегменты:

  • По городу (Алматы / Астана / Шымкент / другое)
  • По устройству (iOS / Android)
  • По поведению (купил недавно / молчит 30 дней)
  • По времени (бизнес-часы по Алматы - 9:00-21:00)

В FCM это делается через Topics или через выборку токенов на backend.

3. Персонализируйте

Push с именем (Айдар, ваш заказ доставлен) работает в 2 раза лучше обезличенного.

4. Не спамьте

Норма для бизнес-приложения:

  • Транзакционные (статус заказа, запись): неограниченно
  • Маркетинговые: 2-5 в неделю максимум
  • Срочные акции: 1-2 в неделю

При спаме пользователи отключают push (иногда - удаляют приложение).

5. Тестируйте время отправки

В Казахстане лучшее время:

  • Будни: 11:00-13:00 (обед) и 19:00-21:00 (вечер)
  • Выходные: 10:00-12:00 (утро)
  • Никогда: 0:00-7:00 - отключают push после такого

6. Используйте Rich Push

iOS поддерживает изображения, кнопки, видео в push. Open rate с изображением выше на 20-30%.

7. A/B тестируйте

Тестируйте:

  • Разные тексты сообщений
  • Время отправки
  • Изображения / без
  • Кнопки / без

Firebase даёт встроенный A/B Testing инструмент.

Метрики которые отслеживаем

В Firebase Analytics + ваш backend:

  • Delivery rate - сколько push доставлено vs отправлено
  • Open rate - сколько открыто vs доставлено
  • Conversion rate - сколько привело к целевому действию
  • Opt-out rate - сколько отключили push
  • Uninstall rate после push - корреляция с удалениями

Норма: open 18-25%, conversion 4-12%, opt-out <2%.

Типичные ошибки

1. Push без deep link. Пользователь нажал - приложение открыло главный экран. Должно открывать конкретный экран (заказ, чат, акцию).

2. Игнорирование тайм-зон. Отправили в 12:00 UTC - это 17:00 в Алматы. Хорошо. Но это 2:00 в Лос-Анджелесе если у вас международные пользователи.

3. Один и тот же текст для iOS и Android. Apple жёстче с маркетинговыми пушами, могут забанить аккаунт.

4. Хранение FCM-токенов без обновления. Токены меняются. Нужно периодически (раз в неделю) ходить за свежим и обновлять backend.

5. Спам сразу после установки. Лучшая стратегия - молчать первую неделю, дать пользователю освоиться.

Стоимость интеграции FCM в Казахстане

  • FCM сам по себе - бесплатно (Google не берёт денег)
  • Интеграция в новое приложение - 30-60 часов разработки = 300-700 тыс. тг
  • Backend для отправки (Node.js / Laravel + админка) - 60-120 часов = 600-1500 тыс. тг
  • Аналитика и сегментация - 40-80 часов = 400-800 тыс. тг

Итого для среднего приложения: 1,3-3 млн тенге. Окупается за 2-4 месяца через retention.

Частые вопросы

Бесплатно ли использовать FCM?

Да, полностью. Google не берёт денег ни за регистрацию, ни за объём сообщений. Платите только за свой backend (хостинг, разработку).

Работает ли FCM в Казахстане без VPN?

Да. Firebase сервисы доступны со всех IP Казахстана. У нас 50+ приложений работают стабильно с 2018 года.

Какие альтернативы FCM есть?

OneSignal, Pusher Beams, Amazon SNS. Они часто платные после бесплатного лимита. FCM - бесплатный навсегда, поэтому стандарт для большинства проектов.

Можно ли отправлять push без интернета у пользователя?

Нет. Push доставляется только когда устройство онлайн. Если пользователь оффлайн - push доставится при первом подключении к интернету (FCM хранит до 28 дней).

Сколько устройств можно затаргетировать одним push?

Через topic - неограниченно (миллионы устройств). Через multicast - до 500 токенов за один запрос (для миллиона надо 2000 запросов). Через BatchSend API - несколько тысяч.