ข้อขัดข้องและข้อยกเว้น - iOS SDK

เอกสารนี้แสดงภาพรวมระดับสูงเกี่ยวกับการวัดผลข้อขัดข้องและข้อยกเว้นโดยใช้ Google Analytics SDK สำหรับ iOS v2

ภาพรวม

การวัดข้อขัดข้องและข้อยกเว้นช่วยให้คุณวัดจำนวนและประเภทของ การขัดข้องและข้อยกเว้นที่เกิดขึ้นในแอปได้ โดยข้อยกเว้นใน 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);
}

การวัดข้อยกเว้นที่ตรวจไม่พบ

ข้อยกเว้นที่ตรวจไม่พบจะแสดงกรณีที่แอปของคุณพบสภาวะที่ไม่คาดคิดขณะรันไทม์ และมักเป็นอันตรายถึงชีวิตซึ่งทำให้แอปขัดข้อง คุณสามารถส่งข้อยกเว้นที่ตรวจไม่พบไปยัง Google Analytics โดยอัตโนมัติได้โดยการตั้งค่าพร็อพเพอร์ตี้ sendUncaughtExceptions เป็น YES ซึ่งสามารถดำเนินการได้อย่างสะดวกจาก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
  • ระบบจะป้อนข้อมูลในช่องคำอธิบายโดยอัตโนมัติโดยใช้สแต็กเทรซ