الأعطال والاستثناءات - حزمة تطوير البرامج (SDK) لنظام التشغيل iOS

يقدّم هذا المستند نظرة عامة عالية المستوى على قياس الأعطال والاستثناء باستخدام حزمة تطوير البرامج (SDK) لأداة "إحصاءات Google" لنظام التشغيل iOS v3.

نظرة عامة

تتيح لك ميزة قياس الأعطال والاستثناءات قياس عدد الأعطال والاستثناءات التي تحدث في تطبيقك ونوعها. يتضمن الاستثناء الحقول التالية:

اسم الحقل حقل أداة التتبع النوع مطلوب الوصف
الوصف kGAIExDescription NSString لا وصف للاستثناء (100 حرف على الأكثر). يقبل nil.
isFatal kGAIExFatal BOOL نعم يشير إلى ما إذا كان الاستثناء خطيرًا. YES يشير إلى خطير.

تتوفّر بيانات الأعطال والاستثناءات بشكل أساسي في تقرير الأعطال والاستثناءات.

الاستثناءات المفروضة

الاستثناءات هي أخطاء في تطبيقك قد حدّدت لها رمز معالجة استثناءات، مثل انتهاء المهلة أحيانًا لاتصال الشبكة أثناء طلب البيانات.

قِس استثناءً تم رصده من خلال تحديد قيم حقل الاستثناء في أداة التتبّع وإرسال النتيجة، كما في هذا المثال:

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

قياس الاستثناء غير الناتج

تمثّل الاستثناءات غير النشطة الحالات التي واجه فيها تطبيقك حالات غير متوقعة في وقت التشغيل وغالبًا ما تكون فادحة، ما يؤدي إلى تعطّل التطبيق. يمكن إرسال الاستثناءات التي لم يتم تقديمها إلى "إحصاءات Google" تلقائيًا عن طريق ضبط الخاصية trackUncaughtExceptions على YES. على سبيل المثال:

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

عند استخدام قياس الاستثناءات التلقائية، يُرجى وضع ما يلي في الاعتبار:

  • يتم الإبلاغ عن جميع الاستثناءات المرسلة باستخدام قياس الاستثناءات التلقائية على أنها قاتلة في "إحصاءات Google".
  • يتم ضبط حقل الوصف تلقائيًا باستخدام نوع الاستثناء واسم الفئة واسم الطريقة واسم سلسلة المحادثات.