Dokumen ini memberikan ringkasan umum tentang pengukuran error dan pengecualian menggunakan Google Analytics SDK untuk iOS v2.
Ringkasan
Pengukuran error dan pengecualian memungkinkan Anda mengukur jumlah dan jenis error dan pengecualian yang terjadi di aplikasi Anda. Pengecualian di Google Analytics terdiri dari:
-
NSString
(Opsional) Deskripsi – deskripsi pengecualian (maksimal 100 karakter). Menerimanil
. boolean
isFatal – menunjukkan apakah pengecualian tersebut bersifat fatal atau tidak.YES
menunjukkan fatal.
Data error dan pengecualian hanya tersedia di laporan Error dan Pengecualian.
Pengecualian yang Tertangkap
Pengecualian yang tertangkap adalah error di aplikasi yang kode penanganan pengecualiannya telah Anda tentukan. Umumnya ini adalah error yang diperkirakan akan terjadi selama penggunaan normal aplikasi, dan Anda ingin aplikasi dapat dipulihkan, seperti waktu tunggu koneksi jaringan sesekali berlangsung selama permintaan data.
Anda dapat mengukur pengecualian yang tertangkap dengan menambahkan
sendException:
ke blok catch
kode penanganan pengecualian Anda.
Pada contoh berikut, aplikasi mencoba memuat daftar skor tertinggi dari cloud. Jika waktu tunggu permintaan habis, mungkin karena koneksi jaringan yang lambat, kami akan mengirimkan pengecualian ke Google Analytics sebelum menanganinya untuk pengguna:
@try { NSArray *highScores = [self getHighScores]; } @catch (NSException *exception) { [tracker sendException:NO // Boolean indicates non-fatal exception. withDescription:@"Connection timout %d: %@", connectionError, errorDescription]; }
Anda dapat mengisi kolom deskripsi pengecualian secara otomatis dengan nama dan alasan menggunakan sendException:withDescription:withNSException:
, seperti dalam contoh ini:
@try { NSArray *highScores = [self getHighScores]; } @catch (NSException *exception) { [tracker sendException:NO withNSException:exception); }
Untuk mengisi error secara otomatis dengan domain, kode, dan deskripsi error, gunakan sendException:withDescription:withNSError:
seperti yang terlihat di bawah:
NSError *error = nil; if (![self updateHighScoresWithError:&error]) { [tracker sendException:NO withNSError:error); }
Pengukuran Pengecualian yang Tidak Tertangkap
Pengecualian yang tidak tertangkap mewakili instance saat aplikasi mengalami
kondisi yang tidak terduga pada runtime dan sering bersifat fatal, sehingga menyebabkan aplikasi error. Pengecualian yang tidak tertangkap dapat otomatis dikirim ke Google Analytics dengan menetapkan properti sendUncaughtExceptions
ke YES
. Hal ini dapat dilakukan dengan mudah dari metode application:didFinishLaunchingWithOptions
delegasi
aplikasi Anda:
- (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. }
Saat menggunakan pengukuran pengecualian otomatis, perhatikan hal berikut:
- Semua pengecualian yang dikirim menggunakan pengukuran pengecualian otomatis dilaporkan sebagai fatal di Google Analytics.
- Kolom deskripsi diisi secara otomatis menggunakan pelacakan tumpukan.