Fallas y excepciones: SDK de iOS

En este documento, se proporciona una descripción general de alto nivel sobre la medición de fallas y excepciones con el SDK de Google Analytics para iOS v3.

Descripción general

La medición de fallas y excepciones te permite medir la cantidad y el tipo de fallas y excepciones que ocurren en tu app. Las excepciones tienen los siguientes campos:

Nombre del campo Monitor de campo Tipo Obligatorio Descripción
Descripción kGAIExDescription NSString No Una descripción de la excepción (hasta 100 caracteres). Acepta nil.
isFatal kGAIExFatal BOOL Indica si la excepción fue irrecuperable. YES indica irrecuperable.

Los datos de fallas y excepciones están disponibles, principalmente, en el informe de fallas y excepciones.

Excepciones detectadas

Las excepciones capturadas son errores en tu app para los que definiste un código de control de excepciones, como el tiempo de espera ocasional de una conexión de red durante una solicitud de datos.

Para medir una excepción detectada, configura los valores del campo de excepción en el rastreador y envía el hit, como en este 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 sin detectar representan instancias en las que la app detectó condiciones inesperadas durante el tiempo de ejecución y, a menudo, son irrecuperables y provocaron que la app falle. Las excepciones sin detectar se pueden enviar automáticamente a Google Analytics si configuras la propiedad trackUncaughtExceptions como YES. Por ejemplo:

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

Cuando utilices la medición automática de excepciones, ten en cuenta lo siguiente:

  • Todas las excepciones que se envían con la medición automática de excepciones se informan como irrecuperables en Google Analytics.
  • De forma predeterminada, el campo de descripción se configura automáticamente con el tipo de excepción, el nombre de clase, el nombre del método y el nombre del subproceso.