Настройка push-уведомлений мобильного приложения Битрикс24

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка push-уведомлений мобильного приложения Битрикс24
Простой
~1 день
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    943
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    829
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1074

Мы регулярно сталкиваемся с ситуацией, когда после внедрения Битрикс24 мобильные push-уведомления не работают. Клиенты получают жалобы от сотрудников: не приходят сообщения из чата, пропускают задачи, уведомления о лидах приходят с опозданием. Чаще всего проблема кроется в некорректной настройке ключей Firebase Cloud Messaging (FCM) для Android или сертификатов Apple Push Notification Service (APNs) для iOS. Мы берём такую настройку под ключ и устраняем сбои за 1–2 дня.

Как устроена доставка push-уведомлений

Битрикс24 использует модуль mobile и сервис push.bitrix24.com как промежуточный push-брокер. Сервер Битрикс24 отправляет событие на push.bitrix24.com, тот формирует запрос к FCM или APNs, и только потом уведомление попадает на устройство. Это важно: если ваш Битрикс24 установлен on-premise и закрыт файрволом, брокер должен иметь доступ к вашему серверу по API.

Для коробочного Битрикс24 цепочка выглядит так:

  • Событие на портале (новое сообщение, задача, лид) → триггер в модуле mobile
  • Запрос к https://push.bitrix24.com/pub/ с токеном устройства и payload
  • Брокер → FCM/APNs → устройство пользователя

Токены устройств хранятся в таблице b_mobile_device. При переустановке приложения токен меняется, старый помечается как невалидный после первого failed-ответа от FCM/APNs.

Почему push-уведомления не приходят? Типичные причины

Проблема с ключами Firebase. Битрикс24 до версии 22.x работает с Legacy API — ключ вида AAAAxxxxxxx:APA91b.... Начиная с новых версий модуля mobile поддерживается FCM HTTP v1 API через OAuth2-токен сервисного аккаунта. Если вы перешли на новую версию, но оставили старый ключ, push перестают работать. Мы рекомендуем сразу настраивать FCM v1 — это надёжнее и не требует обновления ключа в будущем.

Сертификаты Apple APNs. Apple использует два механизма аутентификации: сертификаты .p12 и ключи .p8 (токен-аутентификация). Сертификаты истекают через год — это типичная причина внезапной остановки push на iOS. Ключи .p8 не имеют срока действия, поэтому рекомендуем именно их. Для генерации ключа .p8: Apple Developer Console → Certificates, Identifiers & Profiles → Keys → создать ключ с флагом Apple Push Notifications service (APNs). Скачать можно только один раз.

Сравнение Legacy и FCM v1 для Битрикс24.

Аспект FCM Legacy API FCM HTTP v1
Поддержка в Битрикс24 До версии 22.x Начиная с модуля mobile 22.x
Тип ключа Статический Server Key OAuth2-токен сервисного аккаунта
Срок действия Бессрочный Токен обновляется автоматически
Безопасность Низкая (ключ легко скомпрометировать) Высокая (ограниченные права)
Рекомендация Только для старых версий Для всех новых проектов

FCM HTTP v1 лучше Legacy API в плане безопасности и не требует ручного обновления ключа. Мы переводим клиентов на v1 в рамках настройки push.

Как диагностировать сбои push-уведомлений?

Если push не работают, первым делом проверьте таблицу b_push_queue. Если там накапливаются необработанные записи, значит агент \Bitrix\Push\QueueAgent не выполняется. Настройте cron для агентов. Другая частая причина — неверно указан внешний адрес портала в настройках on-premise. Убедитесь, что push.bitrix24.com может достучаться до вашего сервера.

Технические детали настройки FCM v1
  1. Создайте проект в Firebase Console.
  2. Добавьте сервисный аккаунт в настройках проекта (IAM & Admin → Service Accounts).
  3. Скачайте JSON-ключ.
  4. В Битрикс24: Администрирование → Мобильное приложение → Push-уведомления → выберите FCM HTTP v1, загрузите JSON.
  5. Проверьте работу тестовым уведомлением.

Что входит в настройку push-уведомлений?

  • Полная настройка FCM (Legacy или v1) для Android
  • Полная настройка APNs (сертификат или .p8 ключ) для iOS
  • Проверка и настройка push-брокера для on-premise
  • Устранение типичных сбоев (дубли, отсутствие push, задержки)
  • Инструкция для администратора по продлению сертификатов
  • 1 месяц поддержки после сдачи

Ориентировочные сроки: от 1 дня до 3 дней в зависимости от сложности конфигурации. Стоимость рассчитывается индивидуально после аудита.

Диагностика типичных сбоев

При диагностике часто встречаются следующие ситуации. Если push не приходят только на iOS, первым делом проверяем срок действия сертификата. Открываем Keychain Access, находим сертификат Apple Push Services: com.your.bundleid — смотрим дату истечения. Если просрочен — перегенерация через Apple Developer Portal и повторная загрузка в Битрикс24.

Если push не приходят ни на Android, ни на iOS после переноса сервера, значит портал сменил домен или IP, но push.bitrix24.com ещё не знает новый адрес. В настройках on-premise регистрации проверяем, что внешний адрес портала корректен и доступен извне.

Уведомления дублируются, когда пользователь зашёл с нескольких устройств — в b_mobile_device несколько активных токенов. Это штатная ситуация, но если дубли множатся без остановки, приложение при каждом запуске регистрирует новый токен вместо обновления существующего.

Проверка очереди отправки: в таблице b_push_queue накапливаются необработанные события. Если строки не убывают — агент \Bitrix\Push\QueueAgent не запускается. Проверяем cron.

Обратите внимание: push-уведомления доходят до пользователя быстрее при использовании FCM v1 по сравнению с Legacy. Это заметно при высокой нагрузке на чаты и задачи.

Подробнее вы можете прочитать в официальной документации: Push-уведомления в мобильном приложении.

Таблица сравнения способов аутентификации APNs

Аутентификация Срок действия Сложность настройки Рекомендация
Сертификат .p12 1 год Средняя Только если уже используете
Ключ .p8 (токен) Бессрочно Низкая Рекомендуется для всех проектов

Мы настроили push-уведомления на более чем 200 порталах Битрикс24 за 5 лет работы. Неработающие уведомления могут стоить бизнесу до 5% выручки из-за пропущенных лидов и задержек в коммуникации. Настройка push-уведомлений окупается в течение недели за счёт ускорения реакции сотрудников. Своевременная диагностика предотвращает финансовые потери от упущенных лидов.

Свяжитесь с нами для бесплатного аудита текущей push-конфигурации. Мы оценим проект и предложим оптимальное решение. Закажите настройку push-уведомлений и убедитесь в их стабильной работе. Получите консультацию — напишите в Telegram или на почту.

Service Worker на Битриксе — отдельное приключение

Композитный кэш (CPagesCache) отдаёт HTML-страницу из файлового кэша, а Service Worker поверх него кэширует ресурсы через Cache API. Два слоя кэширования, которые ничего не знают друг о друге. Если не развести их стратегии — пользователь видит устаревшую корзину после добавления товара. Мы начинаем любой PWA-проект на Битриксе с настройки правильного разделения: Service Worker берёт статику (CSS, JS, шрифты) через Cache First, а HTML и API-ответы всегда идут Network First с fallback на кэш. Композитный кэш Битрикса при этом работает на серверной стороне и не пересекается с клиентским.

Типы мобильных приложений для Битрикс

PWA (Progressive Web App) — веб-приложение, которое выглядит как нативное, но живёт в браузере. Установка из стора не нужна — добавление на домашний экран.

React Native — кроссплатформа от Meta. JavaScript, один код — нативное приложение для iOS и Android с полным доступом к API устройства.

Flutter — кроссплатформа от Google на Dart. Собственный движок рендеринга Skia, стабильные 60/120 FPS.

Мобильное приложение Битрикс24 — готовое корпоративное решение: CRM, задачи, чат, видеозвонки.

Критерий PWA React Native Flutter
Стоимость Низкая Средняя Средняя
Запуск 1-3 недели 2-4 месяца 2-4 месяца
App Store / Google Play Нет (TWA) Да Да
Push Да (iOS 16.4+) Да Да
Офлайн Базовый Полный Полный
Камера, GPS Ограничено Полный Полный
Производительность Средняя Высокая Высокая

PWA обгоняет нативную разработку по скорости запуска в 3 раза, а React Native на 40% дешевле Flutter по трудозатратам для типового интернет-магазина.

Как реализовать PWA на Битриксе без конфликта кэшей?

manifest.json — иконка, название, display: standalone, theme_color, start_url. Пользователь устанавливает сайт на домашний экран. Файл кладём в корень и подключаем через <link rel="manifest"> в header.php шаблона.

Service Worker — ядро PWA. Регистрируем в footer.php:

  • Cache First для статики: /bitrix/cache/, CSS, JS, шрифты, изображения товаров
  • Network First для HTML и API (/ajax/, /bitrix/services/). Если сеть недоступна — отдаём кэш.
  • Stale While Revalidate для каталога — показываем кэшированное, обновляем в фоне
  • Отдельная логика для корзины: всегда Network Only, иначе пользователь видит фантомные товары

Ключевой нюанс — конфликт с композитом Битрикс. Модуль composite кэширует HTML на сервере и отдаёт статические файлы. Service Worker не должен перехватывать эти ответы для авторизованных пользователей — иначе разлогиненный пользователь увидит корзину предыдущего. Решаем через проверку cookie BX_USER_ID в fetch-обработчике.

Push-уведомления — Firebase Cloud Messaging или OneSignal. Статус заказа (OnSaleStatusOrder → trigger push), акции, поступление товара. Токен устройства сохраняем в UF-поле пользователя.

Офлайн-каталог — ранее просмотренные товары доступны без интернета. IndexedDB для карточек, Cache API для изображений.

Совместимость с Проактивной защитой — модуль security проверяет Referer и сессионные токены. Service Worker при prefetch может не передать нужные заголовки — настраиваем исключения в BX_SECURITY_SESSION_VIRTUAL.

Прирост производительности мобильного сайта после внедрения PWA составляет 60-80% по Time to Interactive, а конверсия с мобильных устройств растёт на 25-35%.

React Native для интернет-магазинов на Битрикс

Когда PWA мало — React Native даёт полноценное нативное приложение с единой кодовой базой.

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

  • Бекенд: Битрикс отдаёт данные через REST API. Стандартные методы catalog.product.list, sale.order.add для каталога и заказов. Для кастомных сущностей — свои контроллеры через \Bitrix\Main\Engine\Controller.
  • Промежуточный слой: BFF (Backend for Frontend) на Node.js или GraphQL. Агрегируем 3-5 запросов к Битрикс API в один ответ для мобильного клиента — мобильный интернет не прощает лишних round-trip.
  • Фронтенд: React Native приложение.

Функционал интернет-магазина:

  • Каталог: поиск, фильтры, сортировка — данные из CIBlockElement::GetList через REST
  • Карточка товара: галерея (react-native-fast-image), описание, характеристики, отзывы
  • Корзина и чекаут с persistence через AsyncStorage
  • Личный кабинет: заказы, избранное, профиль, адреса
  • Push: статус заказа, акции, брошенная корзина — FCM/APNs, триггеры на событиях Битрикс
  • Нативные фичи: сканер штрихкодов (react-native-camera), геолокация для ПВЗ, Face ID / Touch ID (react-native-biometrics)
  • Офлайн: каталог и избранное через AsyncStorage / WatermelonDB
  • Deep linking: react-navigation deep link → конкретный товар из push или рекламы

React Native выбирают, потому что:

  • React-разработчики уже знают 80% стека
  • Экосистема: тысячи готовых пакетов в npm
  • Hot Reload — моментальный feedback при разработке
  • CodePush от Microsoft — обновление JS-бандла без публикации в Store. Фикс бага за минуты, а не за 2-3 дня ревью.

Flutter vs React Native: когда выбрать Flutter

Альтернатива React Native. Выбираем, когда нужен нестандартный UI с тяжёлыми анимациями.

Сильные стороны:

  • Skia engine — 60/120 FPS на сложных анимациях, где React Native начинает подлагивать на bridge
  • Пиксельная идентичность на iOS и Android — свой рендеринг, не платформенные виджеты
  • Dart: строго типизированный, ошибки на этапе компиляции, а не в проде на устройстве пользователя
  • Material Design и Cupertino виджеты из коробки

Когда Flutter:

  • Интерфейс со сложными анимациями и кастомными переходами между экранами
  • Критически важна одинаковость UI на обеих платформах
  • Планы на web и desktop (Flutter поддерживает все три таргета)
  • Команда знает Dart или готова вложиться

Интеграция с Битрикс:

  • REST API на стороне Битрикс (аналогично React Native)
  • Пакет dio для HTTP с interceptors: автоматическое добавление auth-токена, retry на 5xx
  • Состояние: Riverpod или BLoC — зависит от масштаба
  • Локальное хранение: Hive для key-value, sqflite для сложных запросов к офлайн-данным

Для нестандартного интерфейса Flutter даёт идентичное поведение на обеих платформах — экономия до 30% времени на кросс-платформенных багах.

Как подготовить API для мобильного приложения на Битриксе?

Мобильное приложение ровно настолько хорошо, насколько хорош API.

Проектирование:

  • RESTful с версионированием (/api/v1/, /api/v2/) — обратная совместимость при обновлениях
  • JWT + refresh token. Access — 15 минут, refresh — 30 дней. Хранение refresh в Keychain (iOS) / EncryptedSharedPreferences (Android).
  • Пагинация курсором (?after=eyJ...) — стабильная подгрузка без дублей при добавлении новых элементов
  • Sparse fieldsets: ?fields=id,name,price,image — отдаём только нужное экрану, экономим трафик

Оптимизация под мобильные сети:

  • Агрегированные эндпоинты: один запрос на экран вместо пяти. /api/v1/home возвращает баннеры, рекомендации, акции и категории одним ответом
  • Gzip-сжатие — в Битрикс включается через \Bitrix\Main\Config\Option::set('main', 'use_compression', 'Y')
  • ETag / Last-Modified — 304 Not Modified экономит трафик и время
  • Retry с exponential backoff + offline queue (запросы копятся и отправляются при восстановлении сети)
  • Изображения по размеру устройства: CFile::ResizeImageGet() с параметрами из заголовка DPR

Push-уведомления:

  • FCM (Android) + APNs (iOS)
  • Триггеры на событиях Битрикс: OnSaleStatusOrder, OnCatalogStoreProductUpdate, OnSaleBasketSaved
  • Сегментация: персонализация по поведению из CRM
  • Аналитика воронки: доставка → открытие → переход → конверсия

Что входит в разработку мобильного приложения под ключ?

  1. Аналитика — аудит текущего сайта, нагрузочное тестирование, профилирование узких мест (SQL-запросы, кэширование). Сбор требований по фичам.
  2. Проектирование API — проектирование REST/GraphQL-схемы с курсорной пагинацией и sparse fieldsets, интеграция с 1С через CommerceML, фискализация (54-ФЗ, АТОЛ, ОФД).
  3. Реализация PWA — настройка Service Worker, manifest, push-уведомления, офлайн-каталог, тестирование на реальных устройствах.
  4. Разработка нативного приложения — React Native или Flutter: верстка экранов, интеграция с API, камера, геолокация, deep linking.
  5. Интеграция с Битрикс24 — REST OAuth, webhooks, Open Lines, Bizproc, синхронизация с CRM.
  6. Тестирование — нагрузочное (k6), регрессионное, кроссплатформенное на iOS/Android, проверка офлайн-сценариев.
  7. Деплой — публикация в App Store / Google Play, настройка CI/CD, мониторинг (Sentry, Firebase Crashlytics).
  8. Документация — описание API, архитектуры, инструкция по обновлению. Передача доступов и исходных кодов.

Результат: работающее приложение, документация, доступы к серверам и сторам, обучение команды заказчика.

Сроки

Задача Сроки
PWA для существующего сайта 2-4 недели
REST API для мобильного приложения 3-6 недель
MVP на React Native / Flutter 2-3 месяца
Полнофункциональное приложение 4-6 месяцев
Публикация в App Store / Google Play 1-2 недели
Кастомизация приложения Б24 2-4 недели

Рекомендуем стартовать с PWA — проверить гипотезу за 2-3 недели. Если мобильный трафик подтверждает спрос — наращивать нативное приложение с полным доступом к устройству.

Наша команда — сертифицированные разработчики 1С-Битрикс с опытом более 7 лет. За это время реализовали 20+ мобильных проектов — от PWA для сетевых магазинов до нативных приложений для дистрибьюторов с интеграцией СДЭК и 1С. Гарантируем совместимость с актуальными версиями платформы и модулей. Progressive Web Apps, React Native, Flutter.

Закажите предварительную оценку: пришлём архитектурный план и сроки за 2 рабочих дня. Получите консультацию разработчика по выбору технологии — заполните форму на сайте или позвоните нам.