Falhas e exceções – SDK para iOS

Este documento contém uma visão geral de alto nível da avaliação de falhas e exceções por meio do SDK v3 do Google Analytics para iOS.

Visão geral

Com a avaliação de exceções, você pode analisar o número e o tipo de falhas e exceções que ocorrem no seu aplicativo. Uma exceção contém estes campos:

Nome do campo Campo do rastreador Tipo Obrigatório Descrição
Description kGAIExDescription NSString Não Uma descrição da exceção (até cem caracteres). Aceita nil.
isFatal kGAIExFatal BOOL Sim 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 aplicativo para os quais você definiu o código de tratamento de exceções, como o tempo limite ocasional de uma conexão de rede durante uma solicitação de dados.

Avalie uma exceção identificada definindo os valores dos campos de exceção no rastreador e enviando o hit, como neste exemplo:

/*
 * 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.
    id tracker = [[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.
}

Avaliação de exceções não identificadas

Exceções não identificadas representam instâncias em que seu aplicativo encontrou condições inesperadas na execução. Geralmente elas são fatais e causam falha no aplicativo. Exceções não identificadas podem ser enviadas automaticamente ao Google Analytics ao configurar a propriedade trackUncaughtExceptions como YES. Por exemplo:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [[GAI sharedInstance] setTrackUncaughtExceptions:YES];
  return YES;
}

Ao usar a avaliação automática de exceções, tenha em mente que:

  • Todas as exceções enviadas por meio da avaliação automática de exceções são informadas como fatais no Google Analytics.
  • Por padrão, o campo de descrição é definido automaticamente usando o tipo de exceção, o nome da classe, o nome do método e o nome da sequência.