В этом документе представлен общий обзор измерения сбоев и исключений с помощью Google Analytics SDK для iOS v3.
Обзор
Измерение сбоев и исключений позволяет вам измерить количество и тип сбоев и исключений, возникающих в вашем приложении. Исключение имеет следующие поля:
Имя поля | Поле трекера | Тип | Необходимый | Описание |
---|---|---|---|---|
Описание |
|
| Нет | Описание исключения (до 100 символов). Принимает nil . |
isFatal |
| BOOL | Да | Указывает, было ли исключение фатальным. YES указывает на фатальный исход. |
Данные о сбоях и исключениях доступны в основном в отчете о сбоях и исключениях.
Обнаруженные исключения
Перехваченные исключения — это ошибки в вашем приложении, для которых вы определили код обработки исключений, например периодический тайм-аут сетевого подключения во время запроса данных.
Измерьте перехваченное исключение, установив значения полей исключения на трекере и отправив обращение, как в этом примере:
/* * An app tries to load a list of high scores from the cloud. If the request * times out, an exception is sent to Google Analytics */ @try { // Request some scores from the network. NSArray *highScores = [self getHighScoresFromCloud]; } @catch (NSException *exception) { // May return nil if a tracker has not already been initialized with a // property ID. idtracker = [[GAI sharedInstance] defaultTracker]; [tracker send:[[GAIDictionaryBuilder createExceptionWithDescription:@"Connection timeout" // Exception description. May be truncated to 100 chars. withFatal:@NO] build]]; // isFatal (required). NO indicates non-fatal exception. }
Измерение неперехваченных исключений
Неперехваченные исключения представляют собой случаи, когда ваше приложение сталкивалось с непредвиденными условиями во время выполнения, которые часто были фатальными и приводили к сбою приложения. Неперехваченные исключения можно отправлять в Google Analytics автоматически, установив для свойства trackUncaughtExceptions
значение YES
. Например:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[GAI sharedInstance] setTrackUncaughtExceptions:YES]; return YES; }
При использовании автоматического измерения исключений имейте в виду следующее:
- Все исключения, отправленные с использованием автоматического измерения исключений, в Google Analytics считаются фатальными.
- По умолчанию поле описания автоматически задается с использованием типа исключения, имени класса, имени метода и имени потока.