Arresti anomali ed eccezioni - SDK per iOS

Questo documento fornisce una panoramica generale della misurazione di arresti anomali ed eccezioni utilizzando l'SDK di Google Analytics per iOS v3.

Panoramica

La misurazione degli arresti anomali e delle eccezioni consente di misurare il numero e il tipo di arresti anomali ed eccezioni che si verificano nella tua app. L'eccezione ha i seguenti campi:

Nome campo Campo tracker Tipo Obbligatorio Descrizione
Descrizione kGAIExDescription NSString No Una descrizione dell'eccezione (fino a 100 caratteri). Accetta nil.
isFatal kGAIExFatal BOOL Indica se l'eccezione è stata irreversibile. YES indica che è irreversibile.

I dati su arresti anomali ed eccezioni sono disponibili principalmente nel report Arresti anomali ed eccezioni.

Eccezioni rilevate

Le eccezioni rilevate sono errori nell'app per i quali hai definito un codice di gestione delle eccezioni, ad esempio il timeout occasionale di una connessione di rete durante una richiesta di dati.

Misura un'eccezione rilevata impostando i valori del campo dell'eccezione sul tracker e inviando l'hit, come in questo esempio:

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

Misurazione eccezioni non rilevate

Le eccezioni non rilevate rappresentano i casi in cui l'app ha riscontrato condizioni impreviste in fase di runtime e spesso sono irreversibili, causando l'arresto anomalo dell'app. Le eccezioni non rilevate possono essere inviate automaticamente a Google Analytics impostando la proprietà trackUncaughtExceptions su YES. Ad esempio:

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

Quando utilizzi la misurazione delle eccezioni automatica, tieni presente quanto segue:

  • Tutte le eccezioni inviate utilizzando la misurazione delle eccezioni automatica vengono registrate come irreversibili in Google Analytics.
  • Per impostazione predefinita, il campo della descrizione viene impostato automaticamente utilizzando il tipo di eccezione, il nome della classe, il nome del metodo e il nome del thread.