Интеграция аналитики AppMetrica (Яндекс) в мобильное приложение
AppMetrica — основной выбор для приложений, работающих на российском рынке: нет блокировок Google-сервисов на части устройств, данные обрабатываются в РФ, интеграция с Яндекс.Директ работает без дополнительных настроек. SDK доступен для iOS, Android и Flutter.
Подключение SDK
iOS — через Swift Package Manager или CocoaPods:
pod 'YandexMobileMetrica/Dynamic', '~> 5.0'
Инициализация в AppDelegate:
import YandexMobileMetrica
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let config = YMMYandexMetricaConfiguration(apiKey: "YOUR_API_KEY")
config?.sessionTimeout = 120
config?.logs = false // в release отключить
YMMYandexMetrica.activate(with: config!)
return true
}
Android через Gradle:
// build.gradle (app)
implementation("io.appmetrica.analytics:analytics:7.0.0")
// Application.onCreate()
val config = AppMetricaConfig.newConfigBuilder("YOUR_API_KEY")
.withSessionTimeout(120)
.withLogs(BuildConfig.DEBUG)
.build()
AppMetrica.activate(applicationContext, config)
AppMetrica.enableActivityAutoTracking(this)
enableActivityAutoTracking автоматически логирует смену Activity — аналог автоматического screen_view.
Кастомные события и профиль пользователя
// iOS
YMMYandexMetrica.reportEvent("checkout_started", parameters: [
"cart_value": 4990,
"item_count": 3,
"payment_method": "card"
], onFailure: nil)
Профиль пользователя — мощная фича AppMetrica, которую часто не используют. Атрибуты профиля позволяют сегментировать аудиторию в дашборде:
let profile = YMMMutableUserProfile()
profile.apply(YMMProfileAttribute.customString("subscription_plan").withValue("premium"))
profile.apply(YMMProfileAttribute.customNumber("lifetime_orders").withValue(17))
profile.apply(YMMProfileAttribute.birthDate().withAge(28))
YMMYandexMetrica.report(profile, onFailure: nil)
На Android то же самое через UserProfile.newBuilder().
Атрибуция и трекинг установок
AppMetrica поддерживает атрибуцию установок без отдельного SDK: если пользователь пришёл из Яндекс.Директ или через deeplink с UTM-метками, AppMetrica автоматически привязывает первую сессию к источнику. Для сторонних сетей (Facebook Ads, Google UAC) настраивается интеграция через партнёрские постбэки в консоли.
Для диплинков:
YMMYandexMetrica.handleOpen(url)
AppMetrica.reportAppOpen(activity)
Push-уведомления через AppMetrica Push
AppMetrica Push — встроенный инструмент для пуш-кампаний без Firebase Cloud Messaging (хотя совместим с FCM). Для активации нужно передать push-токен:
// iOS
YMMYandexMetrica.setUserProfileID("user_\(userId)")
Сегменты для рассылки строятся на основе тех же событий и профилей — отдельной интеграции не требуется.
Отличие от Firebase Analytics
| Параметр | AppMetrica | Firebase Analytics |
|---|---|---|
| Задержка данных | ~10 мин в realtime | до 24 часов |
| Работа без Google Play Services | Да | Нет |
| Атрибуция без доп. SDK | Да (Яндекс-сети) | Нет |
| Интеграция с Яндекс.Директ | Нативная | Через конверсии |
| BigQuery экспорт | Через DataLens | Платный план |
Что входит в работу
- Подключение SDK и инициализация для iOS/Android/Flutter
- Настройка кастомных событий по плану трекинга
- Профили пользователей с атрибутами для сегментации
- Передача deeplink-трафика
- Проверка данных в дашборде AppMetrica
Сроки
Базовая интеграция с событиями и профилями: 1–2 дня. Стоимость рассчитывается индивидуально после анализа требований.







