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 |
|
|
No | Una descrizione dell'eccezione (fino a 100 caratteri). Accetta
nil . |
isFatal |
|
BOOL |
Sì | 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. idtracker = [[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.