क्रैश और अपवाद - iOS SDK टूल

यह दस्तावेज़ iOS v3 के लिए Google Analytics SDK का इस्तेमाल करके क्रैश और अपवाद मेज़रमेंट की खास जानकारी देता है.

खास जानकारी

क्रैश और अपवाद के मेज़रमेंट की मदद से, अपने ऐप्लिकेशन में क्रैश की संख्या और टाइप और अपवादों को मापा जा सकता है. कुछ अपवाद में ये फ़ील्ड शामिल हैं:

फ़ील्ड का नाम ट्रैकर फ़ील्ड टाइप ज़रूरी है ब्यौरा
ब्यौरा 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.
}

अपवाद के बारे में पता नहीं चलने वाला मेज़रमेंट

अपवाद के तौर पर नहीं मिले अपवाद, ऐसे मामलों को दिखाते हैं जहां आपके ऐप्लिकेशन को रनटाइम के दौरान अचानक कोई गड़बड़ी हुई हो और ये अक्सर जानलेवा होते हैं. इन स्थितियों की वजह से, ऐप्लिकेशन क्रैश हो जाता है. trackUncaughtExceptions प्रॉपर्टी को YES पर सेट करके, Google Analytics को ऐसे अपवाद अपने-आप भेजे जा सकते हैं जिनके बारे में पता नहीं चला है. उदाहरण के लिए:

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

अपवाद के अपने-आप लागू होने वाले मेज़रमेंट का इस्तेमाल करते समय, इन बातों का ध्यान रखें:

  • अपवाद के अपने-आप मेज़रमेंट की सुविधा का इस्तेमाल करके भेजे गए सभी अपवादों को Google Analytics में 'घातक' के तौर पर रिपोर्ट किया जाता है.
  • डिफ़ॉल्ट रूप से, ब्यौरा फ़ील्ड अपवाद के टाइप, क्लास का नाम, तरीके का नाम, और थ्रेड के नाम का इस्तेमाल करके अपने-आप सेट हो जाता है.