2013-08-29 65 views
5

Xin chào
Tôi đang sử dụng Google Analytics tại một trong iPhone app của mình. Tôi đang theo dõi cài đặt ứng dụng, lượt truy cập màn hình và sự kiện nhấp chuột.
Bây giờ, tôi muốn theo dõi crashes & exceptions trong ứng dụng với lý do và vị trí của ứng dụng (theo vị trí, tôi có nghĩa là tên phương thức, số dòng hoặc bất kỳ thứ gì khác). Tôi đã đọc các tài liệu được cung cấp bởi google, nhưng đã không nhận được bất cứ điều gì hữu ích.
Có ai giúp tôi với điều này không? Bất kỳ ví dụ nào cũng sẽ được đánh giá cao.Theo dõi sự cố bằng Google Analytics iOS


Cập nhật: - Ở đây, tôi đính kèm liên kết ảnh chụp màn hình của trang tổng quan GA.

enter image description here

Trả lời

7

Bạn có thể gửi backtrace (đã được ký hiệu). Tôi đã đặt sendUncaughtExceptions = FALSE và gửi theo cách thủ công.

id tracker = [[GAI sharedInstance] defaultTracker]; 

NSString * model = [[UIDevice currentDevice] model]; 
NSString * version = [[UIDevice currentDevice] systemVersion]; 
NSArray * backtrace = [exception callStackSymbols]; 
NSString * description = [NSString stringWithFormat:@"%@.%@.%@.Backtrace:%@", 
          model, 
          version, 
          exception.description, 
          backtrace]; 

[tracker send:[[GAIDictionaryBuilder 
       createExceptionWithDescription:description // Exception description. May be truncated to 100 chars. 
       withFatal:NO] build]];  

(model và phiên bản là không bắt buộc)

Các vết lùi sẽ < redacted> nhưng lớp quan trọng nhất và phương pháp sẽ symbolicate (nơi vụ tai nạn xảy ra) và bạn sẽ biết đâu là

** EDIT **

Làm thế nào xử lý ngoại lệ

  1. Detail explanation
  2. Tải ví dụ "UncaughtExceptions.zip"
  3. Trên UncaughtExceptionHandler.m, bên trong của phương pháp "handleException: (NSException *) ngoại lệ" bạn có thể làm những gì bạn muốn, trong trường hợp của tôi có phương pháp khác để xác nhận các ngoại lệ và sau đó gửi tới GAI
+0

bạn xử lý ngoại lệ như thế nào? có nghĩa là tôi không muốn viết try-catch trong mỗi và mọi chức năng. –

+2

Tôi đang sử dụng: http://www.cocoawithlove.com/2010/05/handling-unhandled-exceptions-and.html - tải xuống ví dụ "UncaughtExceptions.zip" và trong ngoại lệ "handleException: (NSException *) "bạn có thể gọi những gì bạn muốn – silvaric

1

tôi đã không sử dụng tính năng báo cáo tai nạn Google Analytics, nhưng found this mà có thể là hữu ích.

Bạn có thể đặt Google Analytics (v2) Báo cáo ngoại lệ uncaught ví dụ tai nạn bằng cách sử dụng mã này

- (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. 
} 

Tôi không nghĩ rằng báo cáo sự cố này sẽ được symbolicated là thiết bị không thể symbolicate nó. Vì vậy, bạn có thể phải tượng trưng cho các báo cáo sự cố đã nhận của chính mình để hiểu số dòng trong mã gây ra sự cố này.

Check-out Where can I view the Google Analytics iOS crash logs?

Tham khảo: Symbolicating iPhone App Crash Reports

Hy vọng rằng sẽ giúp!

+0

Cảm ơn câu trả lời của bạn. Nhưng, làm thế nào tôi có thể thực hiện điều này (tượng trưng cho báo cáo sự cố) với Google analytics? Tôi phải theo dõi các sự cố của ứng dụng trên App store. – Piyush

+0

@Piyush Bạn chỉ cần thêm dòng mã trên vào ứng dụng của bạn 'application: didFinishLaunchingWithOptions:' function. Nếu ứng dụng của bạn đã có trên cửa hàng ứng dụng, bạn có thể muốn thêm tính năng này và cập nhật nó. – Amar

+0

@Piyush Ngoài ra khi cập nhật IPA trên cửa hàng ứng dụng, hãy giữ tệp '.dSYM' vì nó sẽ được yêu cầu để tượng trưng cho các báo cáo sự cố mà bạn nhận được. – Amar

0

Swift 3

GAI.sharedInstance().trackUncaughtExceptions = true