ক্র্যাশ এবং ব্যতিক্রম - iOS SDK

এই নথিটি iOS v2 এর জন্য Google Analytics SDK ব্যবহার করে ক্র্যাশ এবং ব্যতিক্রম পরিমাপের একটি উচ্চ-স্তরের ওভারভিউ প্রদান করে।

ওভারভিউ

ক্র্যাশ এবং ব্যতিক্রম পরিমাপ আপনাকে আপনার অ্যাপে ঘটে যাওয়া ক্র্যাশ এবং ব্যতিক্রমগুলির সংখ্যা এবং প্রকার পরিমাপ করতে দেয়। গুগল অ্যানালিটিক্সে একটি ব্যতিক্রম রয়েছে:

  • NSString (ঐচ্ছিক) বর্ণনা – ব্যতিক্রমের একটি বিবরণ (100টি অক্ষর পর্যন্ত)। nil গ্রহণ করে।
  • boolean ইজ ফেটাল - নির্দেশ করে যে ব্যতিক্রমটি মারাত্মক ছিল কিনা। 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-এ মারাত্মক হিসাবে রিপোর্ট করা হয়েছে।
  • বর্ণনা ক্ষেত্রটি স্ট্যাক ট্রেস ব্যবহার করে স্বয়ংক্রিয়ভাবে জনবহুল হয়।