OneSignal push-уведомления: SDK, API, сегментация

У вас уже 10 000 пользователей, а push-уведомления отправляются с задержками и без аналитики? Такая проблема знакома: бэкенд-команда отправляет уведомления напрямую через [APNs/FCM](https://en.wikipedia.org/wiki/Push_technology), и это превращается в зоопарк — отдельный код для iOS, отдельный для An

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
OneSignal push-уведомления: SDK, API, сегментация
Простой
от 1 дня до 3 дней

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

Часто задаваемые вопросы

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

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

У вас уже 10 000 пользователей, а push-уведомления отправляются с задержками и без аналитики? Такая проблема знакома: бэкенд-команда отправляет уведомления напрямую через APNs/FCM, и это превращается в зоопарк — отдельный код для iOS, отдельный для Android, нет аналитики открытий, нет сегментов, ретраи написаны вручную. В итоге доставка падает до 85%, а кастомная реализация отнимает 3–4 недели. OneSignal решает весь этот стек единым API и SDK. Мы реализовали десятки таких интеграций под ключ — с нуля или с миграцией от встроенной логики. В среднем OneSignal ускоряет внедрение в 5 раз: 5 дней вместо 3 недель. Экономия времени — до 70% по сравнению с самостоятельной разработкой. Как подтверждает документация OneSignal, средний delivery rate составляет 99.9%.

Как OneSignal решает проблему единого API?

OneSignal SDK версии 5.x перешёл на модульную архитектуру: OneSignal.User, OneSignal.Notifications, OneSignal.InAppMessages — отдельные неймспейсы. Это важно при обновлении с версии 3.x, где всё было плоским API. Миграция не тривиальная: sendTag заменился на OneSignal.User.addTag, setExternalUserId — на OneSignal.login. Ниже — ициализация для iOS и Android.

// iOS — AppDelegate.swift OneSignal.initialize("YOUR_APP_ID", withLaunchOptions: launchOptions) OneSignal.Notifications.requestPermission({ accepted in print("Permission granted: \(accepted)") }, fallbackToSettings: true) 
// Android — Application.kt OneSignal.initWithContext(this, "YOUR_APP_ID") OneSignal.Notifications.requestPermission({ accepted -> Log.d("OneSignal", "Permission: $accepted") }, this, true) 

Почему OneSignal выгоднее собственной интеграции?

Критерий APNs/FCM напрямую OneSignal
Код на платформу Отдельный для iOS и Android Единый SDK
Сегментация Только через бэкенд Встроенная в Dashboard
Аналитика открытий Нужно писать с нуля Готовая delivery/click/influenced open
Ретраи при ошибках Ручная реализация Автоматические с экспоненциальной задержкой
A/B-тестирование Не поддерживается Встроенное без кода

Собственная интеграция обходится в 2–3 недели разработки плюс постоянные доработки. OneSignal — 3–5 дней, и аналитика с сегментами идут «из коробки». Экономия времени — до 70%, а конверсия от push-уведомлений возрастает в 2–3 раза за счёт правильной сегментации.

Как настроить OneSignal за 5 шагов

  1. Создайте проект в OneSignal Dashboard и сгенерируйте ключи APNs/FCM.
  2. Установите SDK через CocoaPods/Swift Package Manager для iOS или Gradle для Android.
  3. Инициализируйте SDK с app_id и настройте permission (см. примеры выше).
  4. Реализуйте обработчик открытия уведомлений для deep linking.
  5. Добавьте теги для сегментации и протестируйте отправку через REST API.

Как идентифицировать пользователей и настроить теги?

По умолчанию OneSignal создаёт анонимный Player ID (device-level идентификатор). Для бизнес-логики нужна привязка к пользователю системы:

// После логина пользователя OneSignal.login("user_internal_id_12345") // Атрибуты для сегментации OneSignal.User.addTag("plan", "premium") OneSignal.User.addTag("city", "kyiv") OneSignal.User.addTag("last_purchase_days", "3") 

Теги — основа для сегментации в дальнейшем. Их стоит проектировать заранее: 10–15 ключевых тегов достаточно для большинства сценариев. Если теги разрознены, аналитика теряет точность.

Отправка через REST API

Серверная часть — HTTP REST. Минимальный запрос на отправку по external_id:

POST https://onesignal.com/api/v1/notifications { "app_id": "YOUR_APP_ID", "include_aliases": { "external_id": ["user_12345"] }, "target_channel": "push", "contents": { "en": "Your order is ready", "ru": "Ваш заказ готов" }, "data": { "order_id": "98765", "screen": "order_detail" } } 

Поле data — payload для deep link. На мобильном клиенте его обрабатывает OSNotificationOpenedHandler:

// iOS OneSignal.Notifications.addClickListener { event in if let orderId = event.notification.additionalData?["order_id"] as? String { AppRouter.navigate(to: .orderDetail(id: orderId)) } } 

Доставка и аналитика

OneSignal предоставляет delivery rate (99.9% в среднем), click rate, influenced opens (пользователь открыл приложение в течение 60 секунд без клика). Для e-commerce это важная метрика — уведомление сработало, но пользователь открыл приложение иначе. Если нужна более глубокая аналитика — OneSignal интегрируется с Mixpanel, Amplitude через outcome events. Например, отправка события покупки: OneSignal.Session.addOutcome("purchase_completed") и addOutcomeWithValue("purchase_amount", 149.99). Эти данные позволяют строить воронки и оценивать ROI push-кампаний.

Что входит в интеграцию под ключ

Этап Описание
Аналитика текущей схемы Аудит существующих push-решений (APNs/FCM/самописные)
Настройка аккаунта OneSignal Создание проекта, генерация ключей APNs/FCM
Интеграция SDK Инициализация, permission, обработка открытий
Настройка тегов и сегментов Разработка модели данных для сегментации
Серверная интеграция Подключение REST API, шаблоны уведомлений
Тестирование и аналитика Проверка доставки, настройка outcome events
Документация и обучение Docker-compose для локального тестирования, описание API

Сроки и как начать

Базовая интеграция OneSignal SDK (iOS + Android или Flutter/RN), настройка APNs/FCM сертификатов, привязка external user ID, обработчик открытий — 3–5 рабочих дней. Если добавляется серверная логика отправки, настройка сегментов и шаблонов в OneSignal Dashboard — ещё 2–3 дня.

Закажите аудит текущей архитектуры push-уведомлений — это бесплатно. Свяжитесь с нами для консультации: наши инженеры с 5+ годами опыта оценят ваш проект и предложат оптимальный план. Обратитесь к нам, и мы настроим OneSignal под ваш стек за считанные дни.