Критические сбои (CRASH
) обозначают неожиданное или аварийное завершение работы приложения из-за ошибки или необработанного исключения. Помимо негативного пользовательского опыта возникновение таких проблем может привести к потере данных, а потому требует эффективных механизмов и инструментов для их обнаружения и решения. Отчёты о полученных Tracer-ом сбоях и графики по событиям можно найти в разделе «Сбои». За отправку данных о событиях типа CRASH
отвечает FeatureConfiguration.crashReporter.
ВАЖНО! Tracer хранит данные о событиях за последние 90 дней.
Для того чтобы оценить надежность приложения и его способность сохранять работоспособность в течение продолжительного периода, Tracer позволяет рассчитывать crash-free
– процент пользователей, у которых не возникало сбоев в работе приложения за выбранный период. Рассчитывается метрика как (1 - (Пользователи со сбоем / Все пользователи)) * 100%
. При этом важно понимать, что использование приложения на разных устройствах одного пользователя будет обозначено как самостоятельныя единица при расчётах. Переустановка приложения на текущем устройстве также генерирует новую самостоятельную единицу, но только в случае, если на устройстве на момент установки нет приложений этого вендора. Отвечает за фичу настройка в .crashReporter
.
Для отслеживания некритических сбоев (или пользовательских событий) – NON_FATAL
– есть отдельный инструмент.
Для cocoapods Podfile
:
source 'https://github.com/odnoklassniki/tracer-ios.git' pod 'OKTracer'
Для создания и запуска Tracer используются TracerFactory
– статическая фабрика для удобства создания типовых настроек, и TracerService
– он объединяет все сервисы и возможности и обрабатывает их делегаты. Самым быстрым способом создания Tracer в вашем проекте и будет использование TracerFactory
с типовой настройкой tracerServiceForCrashReporting
– в неё остаётся лишь передать appToken
вашего приложения.
import OKTracer let tracerService = TracerFactory.tracerServiceForCrashReporting(EndpointConfiguration(token: "Ваш appToken")) tracerService.start()
Существует также способ комбинированного запуска Tracer с использованием FeatureConfiguration
. При таком подключении Tracer возможно более тонко задать необходимые настройки. В FeatureConfiguration
необходимо указать нужные FeatureType
(опции) Tracer-а, которые хочется использовать в вашем приложении. Для отслеживания крэшей вам понадобится .crashReporter
. .assertReporter
отвечает за NON_FATAL
-ы, прочитать об этом инструменте подробнее можно в разделе о NON_FATAL-ах.
import OKTracer let features: [FeatureConfiguration] = [ .crashReporter(maxUploadsCount: 3), // другие опции, которые хочется подключить ] let configuration = Configuration(EndpointConfiguration(token: "Ваш appToken"), features: features) let tracerService = TracerFactory.tracerService(configuration: configuration) tracerService.start()
За инициализацию .crashReporter
отвечает TracerCrashReporterConfiguration
– в ней есть несколько параметров, отвечающих за отправку событий определенных типов.
Параметр | Тип | Описание |
---|---|---|
maxUploadsCount | Int | Максимальное количество отчетов в вытесняющейся очереди. По умолчанию 3. |
useTrackSession | Bool | Отвечает за включение/выключение отслеживания сессий. Впоследствии данные преобразовываются в статистику crashFree . По умолчанию true . |