2013-08-29 45 views
5

Witam
Używam Google Analytics w jednym z moich iPhone app. Śledzę instalacje aplikacji, odwiedziny na ekranie i zdarzenia kliknięcia.
Teraz chcę śledzić crashes & exceptions w aplikacji z powodu i jego lokalizacji (według lokalizacji, mam na myśli nazwę metody, numer linii lub cokolwiek innego). Przeczytałem dokument dostarczony przez google, ale nie dostałem nic przydatnego.
Czy ktoś może mi w tym pomóc? Każdy przykład byłby naprawdę doceniony.Śledzenie awarii za pomocą Google Analytics iOS


Aktualizacja: - Tutaj załączam zrzut ekranu z pulpitu nawigacyjnego GA.

enter image description here

Odpowiedz

7

Możesz wysłać ślad śledzenia (już symbolizowany). Ustawia sendUncaughtExceptions = FALSE i wysyłam ręcznie.

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 i wersję opcjonalnie)

backtrace będzie miał < redacted> ale najważniejsza klasa i metoda będzie symbolicate (gdzie nastąpiła awaria) i będziesz wiedział, gdzie jest

** EDIT **

Jak wyjątek uchwyt

  1. Detail explanation
  2. Pobierz przykład "UncaughtExceptions.zip"
  3. Na UncaughtExceptionHandler.m, wewnątrz metody "handleException: (*) NSException wyjątkiem" możesz robić, co chcesz, w moim przypadku mają inne metody, aby sprawdzić poprawność wyjątek i później przesyła GAI
+0

jak poradziłeś sobie z wyjątkami? oznacza, że ​​nie chcę pisać try-catch w każdej funkcji. –

+2

Używam tego: http://www.cocoawithlove.com/2010/05/handling-unhandled-exceptions-and.html - pobierz przykład "UncaughtExceptions.zip" oraz wyjątek "handleException: (NSException *) "możesz dzwonić, co chcesz – silvaric

1

I nie korzystał jeszcze z funkcji raportowania awarii Google Analytics, ale found this które mogłyby być pomocne.

Można mieć raport Google Analytics (v2) niezłapane wyjątki tj awarii za pomocą tego kodu

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

Nie sądzę, będą one symbolicated raportów o awariach, gdy urządzenie jest w stanie go symbolicate. Być może trzeba będzie samemu oznaczyć otrzymane raporty o awariach, aby zrozumieć numer linii w kodzie, który spowodował awarię.

Wyjazd Where can I view the Google Analytics iOS crash logs?

Patrz: Symbolicating iPhone App Crash Reports

nadzieję, że pomoże!

+0

Dziękuję za odpowiedź. Ale jak mogę to zaimplementować (symbolizując raport awarii) za pomocą Google Analytics? Muszę śledzić awarie aplikacji w sklepie App Store. – Piyush

+0

@Piyush Wystarczy dodać powyższy wiersz kodu w aplikacji 'application: didFinishLaunchingWithOptions:' function. Jeśli Twoja aplikacja jest już w sklepie z aplikacjami, możesz dodać tę funkcję i zaktualizować ją. – Amar

+0

@Piyush Również podczas aktualizowania IPA w sklepie z aplikacjami zachowaj plik '.dSYM', ponieważ będzie on wymagany do oznaczenia otrzymanych raportów o awariach. – Amar

0

Swift 3

GAI.sharedInstance().trackUncaughtExceptions = true 
Powiązane problemy