Abstürze und Ausnahmen – iOS SDK

Dieses Dokument bietet eine allgemeine Übersicht über die Messung von Abstürzen und Ausnahmen mit dem Google Analytics SDK for iOS Version 3.

Überblick

Mit der Messung von Abstürzen und Ausnahmen können Sie die Anzahl und Art der Abstürze und Ausnahmen in Ihrer App messen. Eine Ausnahme hat folgende Felder:

Feldname Tracker-Feld Typ Erforderlich Beschreibung
Beschreibung kGAIExDescription NSString Nein Eine Beschreibung der Ausnahme (bis zu 100 Zeichen). Akzeptiert nil.
isFatal kGAIExFatal BOOL Ja Gibt an, ob es sich um einen schwerwiegenden Ausnahmefehler handelt. YES weist auf einen schwerwiegenden Fehler hin.

Absturz- und Ausnahmedaten sind hauptsächlich im Absturz- und Ausnahmebericht verfügbar.

Abgefangene Ausnahmen

Abgefangene Ausnahmen sind Fehler in Ihrer App, für die Sie einen Code zur Ausnahmebehandlung definiert haben, z. B. die gelegentliche Zeitüberschreitung einer Netzwerkverbindung während einer Datenanfrage.

Zum Messen einer erkannten Ausnahme legen Sie die Ausnahmefeldwerte auf dem Tracker fest und senden den Treffer, wie in diesem Beispiel:

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

Messung nicht abgefangener Ausnahmen

Nicht abgefangene Ausnahmen stellen Instanzen dar, bei denen während der Laufzeit unerwartete Bedingungen in der App aufgetreten sind. Diese sind häufig schwerwiegend und führen zum Absturz der App. Nicht abgefangene Ausnahmen können automatisch an Google Analytics gesendet werden. Dazu setzen Sie die Property trackUncaughtExceptions auf YES. Beispiel:

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

Beachten Sie Folgendes, wenn Sie die automatische Ausnahmemessung verwenden:

  • Alle Ausnahmen, die mit der automatischen Ausnahmemessung gesendet werden, werden in Google Analytics als schwerwiegend gemeldet.
  • Standardmäßig wird das Beschreibungsfeld automatisch anhand des Ausnahmetyps, des Klassennamens, des Methodennamens und des Thread-Namens festgelegt.