Интеграция New Relic APM для мониторинга мобильного приложения

Мы интегрируем New Relic APM в мобильные приложения на iOS и Android. Эта система показывает не только краши, но и тормоза UI, медленные сетевые запросы, падение конверсии. Вы получаете единый трейс от нажатия кнопки до SQL-запроса — без дополнительной корреляции. Заголовок `newrelic` (W3C TraceCont

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

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

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Интеграция New Relic APM для мониторинга мобильного приложения
Средний
~2-3 дня

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

Часто задаваемые вопросы

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

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

Мы интегрируем New Relic APM в мобильные приложения на iOS и Android. Эта система показывает не только краши, но и тормоза UI, медленные сетевые запросы, падение конверсии. Вы получаете единый трейс от нажатия кнопки до SQL-запроса — без дополнительной корреляции. Заголовок newrelic (W3C TraceContext) пробрасывается автоматически. В New Relic One можно открыть HTTP-запрос из приложения и провалиться в серверный трейс. Мы провели 30+ интеграций для проектов с аудиторией от 50 000 DAU. Гарантируем стабильность мониторинга и правильное семплирование.

Почему Distributed Tracing обязателен для мобильного мониторинга?

Без Distributed Tracing вы видите только клиентскую часть. Если запрос падает с 500-й ошибкой на бэкенде, вы не узнаете причину. При включённом трейсинге каждый HTTP-вызов получает уникальный идентификатор. Агент мобильного приложения добавляет заголовки traceparent и tracestate. Серверный агент New Relic подхватывает их и формирует единый трейс. Вы видите время каждого сегмента: сетевой вызов, SQL, кеш. New Relic документация рекомендует включать Distributed Tracing для всех приложений с микросервисной архитектурой.

Как установить агент New Relic на iOS и Android?

iOS через Swift Package Manager:

// Package.swift .package(url: "https://github.com/newrelic/newrelic-ios-agent-spm", from: "7.4.0") // AppDelegate.application(_:didFinishLaunchingWithOptions:) import NewRelic NewRelic.start(withApplicationToken: "AA-XXXXXXXX-XXXX") 

Android через Gradle:

// build.gradle (project level) classpath("com.newrelic.agent.android:agent-gradle-plugin:7.+") // build.gradle (app level) apply plugin: 'newrelic' implementation("com.newrelic.agent.android:android-agent:7.+") // Application.onCreate() NewRelic.withApplicationToken("AA-XXXXXXXX-XXXX") .withLoggingEnabled(false) .start(applicationContext) 

После установки агент автоматически инструментирует HTTP-вызовы: iOS перехватывает URLSession через swizzling, Android — через байткод-инструментацию OkHttp и HttpURLConnection. Если используете кастомные сетевые слои (NWConnection, кастомный URLProtocol), проверьте, что трекинг работает явно.

Как проверить автоинструментацию?

Сразу после запуска откройте вкладку Distributed traces в New Relic One. Если запросы отображаются с корректными длительностями и статусами, интеграция выполнена правильно. В противном случае проверьте, что агент инициализирован до первого сетевого запроса.

Что такое Distributed Tracing и как его включить?

Distributed Tracing по умолчанию включён только для Infinite Tracing. Для стандартного семплирования добавьте:

NewRelic.enableFeatures([.NRFeatureFlag_DistributedTracing]) 

На Android аналогичный флаг не требуется — трейсинг работает после активации в настройках New Relic. Заголовок TraceContext автоматически пробрасывается в запросы к бэкенду, где New Relic APM агент подхватывает его и формирует единый трейс.

Как кастомные события улучшают бизнес-метрики?

Кастомные события позволяют отслеживать бизнес-воронку. Например, запись события CheckoutCompleted с атрибутами order_id, total, payment_method.

// iOS NewRelic.recordCustomEvent("CheckoutCompleted", attributes: ["order_id": orderId, "total": total, "payment_method": method]) // Android NewRelic.recordCustomEvent("CheckoutCompleted", mapOf("order_id" to orderId, "total" to total)) 

Эти события попадают в NRQL — мощный SQL-подобный язык. Строим дашборды с временными рядами, FACET по платёжным методам, считаем конверсию воронки.

Отслеживание ошибок и крэшей

Крэши собираются автоматически. Handled exceptions записываем явно:

// iOS do { try performPayment() } catch { NewRelic.recordError(error, attributes: ["context": "checkout"]) } // Android NewRelic.recordError(exception, mapOf("context" to "checkout")) 

Крэш-репорты содержат Thread State всех потоков, ANR-события и Breadcrumb Trail — последовательность действий до краша.

Почему New Relic лучше Firebase Crashlytics для бизнес-метрик?

Критерий New Relic APM Firebase Crashlytics
Тип мониторинга Производительность + ошибки Только ошибки
Distributed Tracing Да, до SQL-запроса Нет
Кастомные бизнес-события Да, с NRQL Только лог ошибок
Алерты по конверсии Да, на основе NRQL Нет
Единый аккаунт с бэкендом Да Нет

New Relic позволяет настроить алерт на падение crash-free rate ниже 99.5% или корреляцию network error rate с бизнес-метрикой. Firebase такого не даёт.

Как мы настраиваем NRQL-алерты

Типичные алерты, которые мы конфигурируем:

Метрика Условие Канал уведомления
Crash-free rate < 99.5% Slack
Средняя длительность HTTP-запроса > 2 с PagerDuty
Конверсия checkout падение > 10% за час Email
Пример конфигурации агента для Android
NewRelic.withApplicationToken("AA-XXXXXXXX-XXXX") .withLoggingEnabled(true) .withCrashReporting(true) .withHttpResponseBodyCaptureEnabled(true) .start(applicationContext) 

Как мы внедряем New Relic

  1. Анализируем текущее приложение — определяем ключевые сценарии, сетевые запросы, бизнес-события.
  2. Устанавливаем агент на iOS и Android, проверяем HTTP-автоинструментацию.
  3. Настраиваем Distributed Tracing с бэкенд-агентом, верифицируем трейсы.
  4. Создаём кастомные события под бизнес-воронку — регистрация, просмотр, покупка.
  5. Конфигурируем NRQL-алерты с нотификацией в Slack/PagerDuty.
  6. Передаём документацию — дашборды, алерты, инструкции по доработкам.

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

  • Установка агента iOS/Android (включая React Native через @newrelic/react-native-agent)
  • Верификация HTTP-автоинструментации
  • Настройка Distributed Tracing
  • Кастомные события под бизнес-воронку
  • NRQL-алерты
  • Документация по дашбордам и алертам
  • Обучение команды работе с New Relic One
  • Пост-релизная поддержка 2 недели

Сроки

Базовая интеграция с автоинструментацией: 1–2 дня. Кастомные события и дашборды: ещё 1 день. Стоимость рассчитывается индивидуально под ваш проект.

Получите консультацию по интеграции New Relic в ваше мобильное приложение — свяжитесь с нами, чтобы обсудить детали. Закажите настройку мониторинга уже сегодня.