Este documento contém uma visão geral de alto nível da avaliação de falhas e exceções usando o SDK do Google Analytics para iOS v2.
Visão geral
Com a avaliação de falhas e exceções, você pode saber o número e o tipo de falhas e exceções que ocorrem no seu app. Uma exceção no Google Analytics consiste em:
-
NSString
(Opcional) Descrição: uma descrição da exceção (até 100 caracteres). Aceitanil
. boolean
isFatal: indica se a exceção foi fatal.YES
indica que foi fatal.
Os dados de falhas e exceções estão disponíveis principalmente no Relatório de falhas e exceções.
Exceções identificadas
Exceções identificadas são erros no seu app para os quais você definiu um código de processamento de exceções. Esses são geralmente erros que você espera que ocorram durante o uso normal do app e que precisam ser recuperados, como o tempo limite ocasional de uma conexão de rede durante uma solicitação de dados.
Para avaliar as exceções capturadas, adicione sendException:
ao bloco catch
do código de tratamento de exceções.
No exemplo a seguir, um app tenta carregar uma lista de pontuações mais altas da nuvem. Se a solicitação expirar, talvez devido a uma conexão de rede lenta, enviaremos a exceção ao Google Analytics antes de processá-la para o usuário:
@try { NSArray *highScores = [self getHighScores]; } @catch (NSException *exception) { [tracker sendException:NO // Boolean indicates non-fatal exception. withDescription:@"Connection timout %d: %@", connectionError, errorDescription]; }
É possível preencher automaticamente o campo de descrição de uma exceção com o nome e o motivo usando sendException:withDescription:withNSException:
, como neste exemplo:
@try { NSArray *highScores = [self getHighScores]; } @catch (NSException *exception) { [tracker sendException:NO withNSException:exception); }
Para preencher automaticamente um erro com o domínio,
o código e a descrição do erro, use
sendException:withDescription:withNSError:
conforme mostrado abaixo:
NSError *error = nil; if (![self updateHighScoresWithError:&error]) { [tracker sendException:NO withNSError:error); }
Avaliação de exceções não identificadas
Exceções não identificadas representam instâncias em que o app encontrou
condições inesperadas no momento da execução. Elas geralmente são fatais, fazendo com que o app falhe
como resultado. As exceções não identificadas podem ser enviadas automaticamente ao Google Analytics ao definir a propriedade sendUncaughtExceptions
como YES
. Isso pode ser feito de forma conveniente no método
application:didFinishLaunchingWithOptions
do delegado do app:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [GAI sharedInstance].sendUncaughtExceptions = YES; // Enable // ... the rest of your code, include other GAI properties you want to set. }
Ao usar a avaliação automática de exceções, lembre-se do seguinte:
- Todas as exceções enviadas por meio da avaliação automática de exceções são informadas como fatais no Google Analytics.
- O campo de descrição é preenchido automaticamente usando o stack trace.