Plantages et exceptions – SDK iOS

Ce document offre une présentation générale de la mesure des plantages et des exceptions à l'aide du SDK Google Analytics pour iOS v3.

Présentation

La mesure des plantages et des exceptions vous permet de mesurer le nombre et le type de plantages et d'exceptions qui se produisent dans votre application. Une exception comporte les champs suivants:

Nom du champ Champ de suivi Type Obligatoire Description
Description kGAIExDescription NSString Non Description de l'exception (100 caractères maximum). Accepte les nil.
isFatal kGAIExFatal BOOL Oui Indique s'il s'agit d'une exception fatale. YES indique une erreur fatale.

Les données sur les plantages et les exceptions sont principalement disponibles dans le rapport "Plantages et exceptions".

Exceptions capturées

Les exceptions détectées sont des erreurs dans votre application pour lesquelles vous avez défini un code de traitement des exceptions, telles que le délai d'inactivité occasionnel d'une connexion réseau lors d'une requête de données.

Mesurez une exception interceptée en définissant les valeurs du champ d'exception sur l'outil de suivi et en envoyant l'appel, comme dans cet exemple:

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

Mesure des exceptions non détectées

Les exceptions non détectées correspondent aux instances où votre application a rencontré des conditions inattendues au moment de l'exécution et sont souvent fatales, entraînant le plantage de l'application. Les exceptions non détectées peuvent être envoyées automatiquement à Google Analytics en définissant la propriété trackUncaughtExceptions sur YES. Exemple :

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

Lorsque vous utilisez la mesure automatique des exceptions, gardez à l'esprit les points suivants:

  • Toutes les exceptions envoyées à l'aide de la mesure automatique des exceptions sont signalées comme fatales dans Google Analytics.
  • Par défaut, le champ de description est automatiquement défini à l'aide du type d'exception, du nom de classe, du nom de la méthode et du nom du thread.