Bloqueos y excepciones: SDK para iOS

En este documento se proporciona una descripción general de la medición de bloqueos y de excepciones con la versión 3 del SDK de Google Analytics para iOS.

Visión general

La medición de bloqueos y excepciones te permite conocer el número y el tipo de bloqueos y de excepciones que se producen en tu aplicación. Una excepción tiene los siguientes campos:

Nombre del campo Campo de seguimiento Tipo Obligatorio Descripción
Description kGAIExDescription NSString No Descripción de la excepción (hasta 100 caracteres). Acepta nil.
isFatal kGAIExFatal BOOL Indica si la excepción ha sido irrecuperable (indicado con YES).

Los datos de bloqueos y de excepción se encuentran disponibles principalmente en el informe de bloqueos y de excepciones.

Excepciones detectadas

Las excepciones detectadas son errores en tu aplicación para los que se ha definido un código de excepción, como cuando se supera el tiempo de espera de una conexión a una red durante una solicitud de datos.

Mide una excepción detectada definiendo los valores del campo de excepción en el objeto de seguimiento y enviando el hit, tal como se indica en el ejemplo:

/*
 * 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.
}

Medición de excepciones no detectadas

Las excepciones no detectadas representan instancias en las que tu aplicación ha detectado condiciones inesperadas durante la ejecución, a menudo críticas, que bloquean la aplicación. Las excepciones no detectadas se pueden enviar a Google Analytics de forma automática si se configura la propiedad trackUncaughtExceptions como YES. Por ejemplo:

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

Cuando uses la medición automática de excepciones, recuerda lo siguiente:

  • Todas las excepciones que se envían usando la medición automática de excepciones aparecen como críticas en los informes de Google Analytics.
  • De forma predeterminada, el campo de descripción se establece automáticamente usando el tipo de excepción, el nombre de la clase, el nombre del método y el nombre de subproceso.