Kilitlenmeler ve İstisnalar - iOS SDK

Bu belgede, iOS sürüm 3 için Google Analytics SDK'sı kullanılarak kilitlenme ve istisna ölçümüne yüksek düzey bir genel bakış sunulmaktadır.

Genel bakış

Kilitlenme ve istisna ölçümü, uygulamanızda meydana gelen kilitlenme ve istisnaların sayısını ve türünü ölçmenize olanak tanır. Aşağıdaki alanlar istisnadır:

Alan adı İzleyici Alanı Tür Gerekli Açıklama
Açıklama kGAIExDescription NSString Hayır İstisnanın açıklaması (en fazla 100 karakter). nil kabul edilir.
isFatal kGAIExFatal BOOL Evet Özel durumun önemli olup olmadığını gösterir. YES önemli değeri belirtir.

Kilitlenme ve istisna verileri, öncelikli olarak Kilitlenme ve İstisnalar raporunda bulunur.

Yakalanan İstisnalar

Yakalanan istisnalar, uygulamanızda istisna işleme kodu tanımladığınız (örneğin, veri isteği sırasında ağ bağlantısının zaman zaman aşımına uğraması) hatalardır.

İzleyicide istisna alanı değerlerini ayarlayıp isabeti göndererek yakalanan bir istisnayı ölçün (bu örnekte olduğu gibi):

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

Yakalanmamış İstisna Ölçümü

Yakalanmayan istisnalar, uygulamanızın çalışma zamanında beklenmedik koşullarla karşılaştığı ve genellikle kritik öneme sahip olarak uygulamanın kilitlenmesine neden olduğu örnekleri temsil eder. trackUncaughtExceptions özelliği YES değerine ayarlanarak Google Analytics'e otomatik olarak yakalanmamış istisnalar gönderilebilir. Örneğin:

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

Otomatik istisna ölçümünü kullanırken aşağıdakileri göz önünde bulundurun:

  • Otomatik istisna ölçümü kullanılarak gönderilen tüm istisnalar Google Analytics'te önemli olarak raporlanır.
  • Varsayılan olarak açıklama alanı istisna türü, sınıf adı, yöntem adı ve iş parçacığı adı kullanılarak otomatik olarak ayarlanır.