Интеграция аналитики AppsFlyer в мобильное приложение

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Интеграция аналитики AppsFlyer в мобильное приложение
Средняя
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1052
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Интеграция аналитики AppsFlyer в мобильное приложение

AppsFlyer — это прежде всего MMP (Mobile Measurement Partner), а не просто аналитика. Его ключевая задача — атрибуция: определить, из какой рекламной сети пришёл пользователь, установивший приложение. Без MMP нельзя корректно сравнить ROI Facebook Ads и Google UAC: обе платформы будут клеймить одного пользователя своим.

Как работает атрибуция AppsFlyer

При клике на рекламу AppsFlyer сохраняет fingerprint или click_id. После установки и первого запуска приложения SDK отправляет install-событие на сервер AppsFlyer. Сервер матчит install с кликом через детерминированный метод (click_id в deeplink) или вероятностный (IP + User-Agent). Результат: точная информация о кампании, адгруппе и объявлении, которые привели пользователя.

Подключение SDK

iOS через Swift Package Manager — AppsFlyerLib-iOS:

import AppsFlyerLib

// AppDelegate
func application(_ application: UIApplication,
                 didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    AppsFlyerLib.shared().appsFlyerDevKey = "YOUR_DEV_KEY"
    AppsFlyerLib.shared().appleAppID = "YOUR_APP_STORE_ID"
    AppsFlyerLib.shared().delegate = self
    AppsFlyerLib.shared().isDebug = false // только в debug builds!
    return true
}

// SceneDelegate или applicationDidBecomeActive
func applicationDidBecomeActive(_ application: UIApplication) {
    AppsFlyerLib.shared().start()
}

Android:

implementation("com.appsflyer:af-android-sdk:6.+")
// Application.onCreate()
AppsFlyerLib.getInstance().init("YOUR_DEV_KEY", conversionDataListener, this)
AppsFlyerLib.getInstance().start(this)

start() на Android должен вызываться в Application.onCreate(), а не в Activity — иначе deeplink-атрибуция при холодном старте из deeplink будет неточной.

In-App события для оптимизации кампаний

AppsFlyer передаёт in-app события в рекламные сети для алгоритмической оптимизации (Conversions API, SKAdNetwork на iOS):

AppsFlyerLib.shared().logEvent(
    AFEventPurchase,
    withValues: [
        AFEventParamRevenue: 990.0,
        AFEventParamCurrency: "RUB",
        AFEventParamContentId: "sku_123",
        AFEventParamOrderId: "order_456"
    ]
)

Стандартные константы AFEventPurchase, AFEventAddToCart, AFEventCompleteRegistration — это строки, совпадающие с форматом Facebook и Google. Используйте их вместо произвольных имён, чтобы рекламные сети корректно интерпретировали события.

SKAdNetwork и iOS 14+

С iOS 14 Apple ограничила детерминированную атрибуцию через ATT. AppsFlyer реализует SKAdNetwork-атрибуцию: конверсионное значение (6 бит) кодирует информацию о пользователе и передаётся Apple агрегированно. AppsFlyer автоматически управляет updateConversionValue через конфигурацию в дашборде — вручную это реализовывать не нужно.

// Для Conversion Value необходимо вызвать start() с ATT-статусом
AppsFlyerLib.shared().waitForATTUserAuthorization(timeoutInterval: 60)
// ... после запроса ATT:
AppsFlyerLib.shared().start()

Deeplink и OneLink

OneLink — технология AppsFlyer для универсальных ссылок, которые работают как на iOS (Universal Links), так и на Android (App Links) и при отсутствии приложения ведут на страницу установки:

// AppDelegate
func application(_ application: UIApplication,
                 continue userActivity: NSUserActivity,
                 restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
    AppsFlyerLib.shared().continue(userActivity, restorationHandler: nil)
    return true
}

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
    AppsFlyerLib.shared().handleOpen(url, options: options)
    return true
}

Типичные ошибки интеграции

isDebug = true попавший в production — это прямая утечка данных атрибуции (debug-трафик попадает в отдельный поток и не считается в реальных кампаниях). Обязательно проверяем через Build Configuration.

Отсутствие waitForATTUserAuthorization на iOS 14+: без паузы AppsFlyer отправит install до получения ATT-разрешения, и атрибуция будет вероятностной даже если пользователь потом согласился.

Что входит в работу

  • Подключение SDK для iOS/Android
  • Настройка DEV Key и App ID
  • In-app события для ключевых конверсий
  • SKAdNetwork configuration для iOS 14+
  • OneLink / Universal Links / App Links setup
  • Интеграция с рекламными сетями через постбэки (по требованию)

Сроки

Базовая атрибуция с in-app событиями: 1–2 дня. Полная интеграция с OneLink и SKAdNetwork: до 3 дней. Стоимость рассчитывается индивидуально.