У вас вже 10 000 користувачів, а push-повідомлення надсилаються із затримками та без аналітики? Така проблема знайома: бекенд-команда надсилає повідомлення напряму через APNs/FCM, і це перетворюється на зоопарк — окремий код для iOS, окремий для Android, немає аналітики відкриттів, немає сегментів, ретраї написані вручну. У підсумку доставка падає до 85%, а кастомна реалізація забирає 3–4 тижні. Наша команда з 5+ роками досвіду спеціалізується на OneSignal інтеграції для iOS та Android з повною підтримкою SDK та API. OneSignal вирішує весь цей стек єдиним API та SDK. OneSignal краще за APNs/FCM у 5 разів за швидкістю реалізації: 5 днів замість 3 тижнів. Економія часу — до 70%, а економія на обслуговуванні push-інфраструктури становить до $2,000 на місяць для проекту з 50,000 користувачів. Ми реалізували десятки таких інтеграцій під ключ — з нуля або з міграцією від вбудованої логіки. Гарантуємо доставку 99.9% (на основі статистики OneSignal) та маємо 30+ успішних проектів.
Для одного маркетплейсу з 20 000 активних користувачів ми замінили самописну push-систему на OneSignal. Результат: час доставки скоротився з 8 секунд до 1.2 секунди, відсоток відкриттів зріс на 40% завдяки сегментації, а витрати на обслуговування зменшилися втричі.
Як 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 кроків
- Створіть проект в OneSignal Dashboard та згенеруйте ключі APNs/FCM.
- Встановіть SDK через CocoaPods/Swift Package Manager для iOS або Gradle для Android.
- Ініціалізуйте SDK з
app_idта налаштуйте permission (див. приклади вище). - Реалізуйте обробник відкриття повідомлень для deep linking.
- Додайте теги для сегментації та протестуйте відправку через 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 під ваш стек за лічені дні.







