خرابی ها و استثناها - iOS SDK

این سند نمای کلی سطح بالایی از اندازه‌گیری خرابی و استثنا را با استفاده از Google Analytics SDK برای iOS نسخه 2 ارائه می‌کند.

بررسی اجمالی

اندازه‌گیری خرابی و استثنا به شما امکان می‌دهد تعداد و نوع خرابی‌ها و استثناهایی را که در برنامه شما رخ می‌دهد اندازه‌گیری کنید. یک استثنا در Google Analytics شامل موارد زیر است:

  • NSString (اختیاری) توضیحات - شرح استثنا (حداکثر 100 کاراکتر). nil می پذیرد.
  • boolean isFatal - نشان می دهد که آیا استثنا کشنده بوده است یا خیر. YES نشان دهنده کشنده است.

داده‌های خرابی و استثنا عمدتاً در گزارش خرابی و استثناء موجود است.

گرفتار استثنا

استثناهای یافت شده خطاهایی در برنامه شما هستند که کد مدیریت استثنا را برای آنها تعریف کرده اید. اینها معمولاً خطاهایی هستند که پیش‌بینی می‌کنید در طول استفاده عادی از برنامه‌تان رخ دهند و می‌خواهید برنامه‌تان بتواند از آن‌ها بازیابی شود، مانند وقفه زمانی اتصال شبکه در طول درخواست داده.

شما می توانید استثناهای گرفته شده را با افزودن sendException: به بلوک catch کد مدیریت استثنا خود اندازه گیری کنید.

در مثال زیر، یک برنامه سعی می کند لیستی از امتیازات بالا را از ابر بارگذاری کند. اگر زمان درخواست به پایان برسد، شاید به دلیل کندی اتصال شبکه، ما استثنا را قبل از رسیدگی به آن برای کاربر به Google Analytics ارسال می‌کنیم:

@try {
  NSArray *highScores = [self getHighScores];
}
@catch (NSException *exception) {
    [tracker sendException:NO // Boolean indicates non-fatal exception.
            withDescription:@"Connection timout %d: %@", connectionError, errorDescription];
}

با استفاده از sendException:withDescription:withNSException: به طور خودکار می توانید فیلد توضیحات یک استثنا را با نام و دلیل پر کنید، مانند این مثال:

@try {
  NSArray *highScores = [self getHighScores];
}
@catch (NSException *exception) {
  [tracker sendException:NO withNSException:exception);
}

برای پر کردن خودکار خطا با دامنه خطا، کد و توضیحات، از sendException:withDescription:withNSError: همانطور که در زیر مشاهده می شود استفاده کنید:

NSError *error = nil;
if (![self updateHighScoresWithError:&error]) {
  [tracker sendException:NO withNSError:error);
}

اندازه‌گیری استثنای کشف نشده

استثناهای کشف نشده مواردی را نشان می دهند که برنامه شما در زمان اجرا با شرایط غیرمنتظره ای مواجه می شود و اغلب کشنده است و در نتیجه برنامه از کار می افتد. با تنظیم ویژگی sendUncaughtExceptions بر روی YES می‌توان استثناهای کشف نشده را به طور خودکار به Google Analytics ارسال کرد. این را می توان به راحتی از application:didFinishLaunchingWithOptions :

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [GAI sharedInstance].sendUncaughtExceptions = YES; // Enable 

  // ... the rest of your code, include other GAI properties you want to set.
}

هنگام استفاده از اندازه گیری استثنای خودکار، موارد زیر را در نظر داشته باشید:

  • همه استثناهای ارسال شده با استفاده از اندازه گیری استثنای خودکار به عنوان مرگبار در Google Analytics گزارش می شوند.
  • قسمت توضیحات به طور خودکار با استفاده از ردیابی پشته پر می شود.