2013-01-02 11 views
5

używam właśnie tego w każdej działalności:Uncaught Wyjątek w Google Analytics za pomocą EasyTracker

@Override 
public void onStart() { 
    super.onStart(); 
    EasyTracker.getInstance().activityStart(this); 
} 

@Override 
public void onStop() { 
    super.onStop(); 
    EasyTracker.getInstance().activityStop(this); 
} 

i przeżywa to doc

dowiedziałem się:

Korzystanie EasyTracker
Aby automatycznie śledzić wszystkie nieprzechwycone wyjątki w aplikacji za pomocą EasyTracker, dodaj to ine do pliku analytics.xml:

<bool name="ga_reportUncaughtExceptions">true</bool> 

Po śledzenia wyjątek za pomocą automatycznego śledzenia wyjątku, EasyTracker minie wyjątek do obsługi wyjątków domyślnym wątku jest.

Przy zastosowaniu automatycznego śledzenia wyjątku, należy pamiętać o następujących kwestiach:

  1. wszystkie wyjątki śledzone za pomocą automatycznego śledzenia wyjątków podano jako śmiertelny w Google Analytics.
  2. Pole opisu jest wypełniane automatycznie za pomocą stosu śledzenia.

Ale kiedy pojawia się UncaughtException i awarie aplikacji, w opisie Google Analytics, to tylko pokazuje:

An error occured while executing doInBackground() 

nie ślad stosu jak wspomniano w powyższych punktach. Czy trzeba coś dodać?

Thank You

+0

To jest najlepsze rozwiązanie, które znalazłem do tej pory: http://stackoverflow.com/questions/14009883/exception-stack-trace-lost-in-google-analytics-v2-for-android – tofi9

+0

Upvoting this, I am w obliczu tego samego problemu. Nie rozumiem, dlaczego Easytracker pokazuje tylko ostatnią linię śledzenia stosu ... – Radu

+0

Dokładna sytuacja tutaj. Czy kiedykolwiek znalazłeś rozwiązanie? – theblang

Odpowiedz

4

używam narzędzia open source o nazwie ACRA dla nieprzechwyconego raportowania wyjątków. Zapewnia znacznie więcej informacji niż Google Analytics lub Flurry, a także przesyła raporty do Dokumentów Google, do których można otrzymywać powiadomienia e-mail o każdym dodanym raporcie.

Używam Google Analytics do końca.

+0

Czy używasz czegoś takiego jak Bugsense z ACRA? Używam ACRA również, ale nie jest dobrze widzieć błędy w arkuszu kalkulacyjnym –

+0

Dla każdego wydania mam kopię zapasową plików zrzutu proguard i napisałem mały skrypt, aby odtworzyć śledzenie stosu na poprawnym zrzucie. Migrowałem później do Crashlytics. Ma zdolność przechwytywania, taką jak ACRA, i automatycznie odtwarza. – auval

3

Należy użyć parsera niestandardowych wyjątku, aby cały StackTrace

import org.apache.commons.lang3.exception.ExceptionUtils; 
import com.google.analytics.tracking.android.ExceptionParser; 

public class AnalyticsExceptionParser implements ExceptionParser { 

public String getDescription(String p_thread, Throwable p_throwable) { 
    return "Thread: " + p_thread + ", Exception: " +  ExceptionUtils.getStackTrace(p_throwable); 
} 
} 

i ustawione jako domyślne to w was aktywności, jak

public void setupGoogleAnalyticsCrashReportParser() { 

    EasyTracker.getInstance().setContext(this); 

    Thread.UncaughtExceptionHandler uncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler(); 
    if (uncaughtExceptionHandler instanceof ExceptionReporter) { 
     ExceptionReporter exceptionReporter = (ExceptionReporter) uncaughtExceptionHandler; 
     exceptionReporter.setExceptionParser(new AnalyticsExceptionParser()); 
    } 
} 

nadzieję, że pomoże komuś.

Powiązane problemy