Розробка мобільного додатку для кешбек-сервісу під ключ
Кешбек-сервіс — сполучна ланка між користувачем, магазином та партнерською мережею. Якщо атрибуція зламана, бізнес втрачає до 30% комісійних. Типова помилка — використання вбудованого WebView для трекінгу. Невірно обраний механізм переходу призводить до втрати до третини партнерських комісій, що прямо впливає на прибутковість сервісу. Саме тому ми приділяємо особливу увагу вибору компоненту для відкриття посилань: на iOS це SFSafariViewController, на Android — Chrome Custom Tabs. Ці компоненти гарантують передачу cookie та коректне нарахування кешбеку, знижуючи втрати атрибуції до мінімуму (<5%). SFSafariViewController у 1.2 раза швидше завантажує сторінки порівняно з WKWebView, а Chrome Custom Tabs знижує втрати атрибуції до <5% проти 30% у WebView. За 5+ років ми реалізували 15+ проєктів і знаємо всі підводні камені. Ми вже допомогли десяткам клієнтів запустити свої кешбек-сервіси та заощадити на втрачених комісіях. Замовте консультацію для детального розрахунку вашого проєкту.
Як працює атрибуція покупок у кешбек-додатку?
Атрибуція будується на трекінгових посиланнях партнерських мереж: Admitad, CJ, Impact або власних. Схема крок за кроком:
- Додаток відкриває трекінгове посилання:
https://trk.admitad.com/g/xxxxx?uid={userId} - Трекер редиректить в магазин, встановлює cookie
- Користувач здійснює покупку
- Магазин надсилає конверсію в мережу з
uid - Мережа надсилає постбек на ваш сервер
- Сервер нараховує кешбек користувачу з даним
uid
Перехід в магазин — через SFSafariViewController (iOS) або Chrome Custom Tabs (Android). Ніколи не використовуйте вбудований WKWebView: його cookie ізольовані та не передаються в Safari, що призводить до втрати до 30% атрибуції. Chrome Custom Tabs працює швидше WKWebView на 20% і підтримує спільні сесії браузера — це підвищує конверсію переходів у покупки.
Порівняння способів відкриття магазину
| Параметр | WKWebView | SFSafariViewController | Chrome Custom Tabs |
|---|---|---|---|
| Ізоляція cookie | Так, ізольовані | Ні, спільні з Safari | Ні, спільні з Chrome |
| Втрата атрибуції | До 30% | < 5% | < 5% |
| Швидкість завантаження (відносно) | 1x | 1.2x | 1.2x |
| Можливість кастомізації | Повна | Обмежена | Обмежена |
import SafariServices func openShopWithTracking(shop: Shop) { guard let trackingUrl = buildTrackingUrl(shop: shop, userId: currentUser.id) else { return } let safariVC = SFSafariViewController(url: trackingUrl) safariVC.preferredControlTintColor = .systemBlue present(safariVC, animated: true) // Фиксируем переход локально для статистики analyticsService.track(.shopOpened(shopId: shop.id)) } // Android: Chrome Custom Tabs для трекинга val customTabsIntent = CustomTabsIntent.Builder() .setShowTitle(true) .setColorScheme(CustomTabsIntent.COLOR_SCHEME_LIGHT) .build() customTabsIntent.launchUrl(this, trackingUri) Зв'яжіться з нами для оцінки вашого проєкту — ми підберемо оптимальну архітектуру трекінгу.
Нарахування та виведення кешбеку
Кешбек зберігається як внутрішній баланс користувача. Статуси нарахування:
| Статус | Опис |
|---|---|
| PENDING | Перехід зафіксовано, покупку не підтверджено |
| CONFIRMED | Магазин підтвердив покупку (зазвичай 30–90 днів) |
| AVAILABLE | Доступний для виведення |
| WITHDRAWN | Виведено |
| CANCELLED | Покупку повернуто, кешбек скасовано |
Для виведення коштів ми інтегруємо ЮKassa Payouts, Tinkoff Payouts API або МТС Pay — під кожен банк своя специфіка. В середньому реалізація виплат займає 1–2 тижні. Гарантуємо відповідність вимогам App Store Review Guidelines (Section 5.1) та Google Play policies.
Push-сповіщення
Push-сповіщення — ключовий канал повернення користувача. Коли кешбек за конкретною покупкою підтверджується (CONFIRMED → AVAILABLE), ми надсилаємо пуш із сумою. Також при запуску акцій у магазинах — персоналізовані пропозиції на основі історії. Стек: FCM (Firebase Cloud Messaging) для Android, APNs для iOS. Сегментація за інтересами, A/B-тестування текстів. Реалізація займає близько 1 тижня та включає обробку deep link для повернення в додаток.
Пошук та фільтрація магазинів
Список магазинів — основний екран. Фільтри: категорія, розмір кешбеку (фіксований % або сума), новизна, популярність. На бекенді — повнотекстовий пошук через PostgreSQL tsvector або Elasticsearch. Клієнт дебаунсить запити:
// iOS: поиск с debounce через Combine @Published var searchQuery = "" init() { $searchQuery .debounce(for: .milliseconds(300), scheduler: RunLoop.main) .removeDuplicates() .filter { $0.count >= 2 } .sink { [weak self] query in self?.loadShops(query: query) } .store(in: &cancellables) } Чому варто довірити розробку кешбек-додатку нашій команді?
У нас 5+ років досвіду в мобільній розробці, 15+ опублікованих додатків, сертифікати App Store та Google Play. Ми надаємо повну документацію, вихідний код, доступи до сторів та навчання ваших спеціалістів. Кешбек-сервіс — складний продукт з високою відповідальністю за атрибуцію, тому ми використовуємо лише перевірені трекери та суворо дотримуємось політик платформ. Вартість проєкту починається від $15,000, а середня економія на атрибуції складає до 30% комісійних. Отримайте консультацію з архітектури вашого проєкту.
Що входить в роботу (deliverables)
- Архітектурна документація (Tech Stack, Flow Charts)
- Вихідний код під iOS (Swift 5.9+, SwiftUI/UIKit) та Android (Kotlin, Jetpack Compose)
- Доступи до App Store Connect та Google Play Console з налаштованими сертифікатами
- Інтеграція з партнерськими мережами (Admitad, CJ, Impact) та виплатними провайдерами
- Push-сповіщення (FCM/APNs) з сегментацією за інтересами
- Навчання команди (2 години онлайн) та керівництво користувача
Орієнтири за термінами
Розробка базової версії (каталог, трекінг, історія) займає 4–6 тижнів. Виведення коштів — ще 1–2 тижні. Повний цикл включаючи інтеграцію з бекендом — до 10 тижнів. Вартість розраховується індивідуально після аналізу вашого технічного завдання. Оцінимо проєкт безкоштовно — зв'яжіться з нами.







