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

Push-уведомления через APNs и FCM напрямую — это зоопарк из кода для iOS и Android, без аналитики и сегментации. Мы интегрируем OneSignal под ключ: единый SDK и API, настройка сегментов и deep linking. Наша команда берёт на себя весь цикл — от аудита до поддержки, обеспечивая надёжную доставку и масштабирование вместе с вашим бизнесом.

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

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

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

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

У вас уже 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 под ваш стек за считанные дни.

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

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

  • Разработка мобильного приложения для компании FEEDME
    Разработка мобильного приложения для компании FEEDME
    1009
  • Разработка мобильного приложения для компании XOOMER
    Разработка мобильного приложения для компании XOOMER
    902
  • Разработка мобильного приложения для компании RHL
    Разработка мобильного приложения для компании RHL
    1332
  • Разработка мобильного приложения для компании ZIPPY
    Разработка мобильного приложения для компании ZIPPY
    1180
  • Разработка мобильного приложения для компании Affhome
    Разработка мобильного приложения для компании Affhome
    1106
  • Разработка мобильного приложения для компании FLAVORS
    Разработка мобильного приложения для компании FLAVORS
    714