2014-01-08 1 views
0

모든 예외를 catch하고 의미있게 Google 애널리틱스에서보고하고 싶습니다. 내가 지금까지했던 것은 :google analytics v3 모든 예외 catch

<bool name="ga_reportUncaughtExceptions">true</bool>을 설정, I는이 같은 활성화의 EasyTracker 활동 만하고있다 같아요 또한 유지의 EasyTracker을 내가 응용 프로그램 수준에있는 모든 예외를 포착하고 싶었다 EasyTracker.getInstance(this).activityStart(this);

하고, 정의 된 활동에서 일하고 있습니다.

나는 V3에이 v2의 솔루션을 수정했지만, 여전히 구글 분석에 내 예외 (http://dandar3.blogspot.com/2013/03/google-analytics-easytracker-detailed.html)

EasyTracker easyTracker = EasyTracker.getInstance(this); 

ExceptionReporter exceptionReporter = new ExceptionReporter( 
    easyTracker, // Tracker, may return null if not yet initialized. 
    GAServiceManager.getInstance(),      // GAServiceManager singleton. 
    Thread.getDefaultUncaughtExceptionHandler(), this); 

exceptionReporter.setExceptionParser(new AnalyticsExceptionParser()); 

UncaughtExceptionHandler myHandler = exceptionReporter;  // Current default uncaught exception handler. 

// Make myHandler the new default uncaught exception handler. 
Thread.setDefaultUncaughtExceptionHandler(myHandler); 

답변

1


1.To는 구글 분석
이 기능을 사용에서 예외 보고서를 얻을 수를보고하지 않은 글로벌 파일에

public static void sendExceptiontoServer(Context mContext,String title, Exception e){ 
    try{ 
     EasyTracker easyTracker = EasyTracker.getInstance(mContext); 
     easyTracker.send(MapBuilder.createException(
       new StandardExceptionParser(mContext, null) 
       .getDescription(title + " : " + Thread.currentThread().getName(), e), false).build()); 
    }catch(Exception ex){ 
    } 
} 

그리고

으로 코드에서 어디에서이 함수를 호출 0
 try{ 
}catch(Exception e){ 
GlobalFile.sendExceptiontoServer(mContext, "error description :", e); 
} 

2. 충돌 보고서
복사 - 붙여 넣기 코드 응용 프로그램 클래스

EasyTracker.getInstance(this).set(Fields.SCREEN_NAME, getClass().getSimpleName()); 

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

에서 OnCreate 기능을 얻을 그리고 AnalyticsExceptionParser 클래스를 만들려면

public class AnalyticsExceptionParser implements ExceptionParser { 
      @Override 
      public String getDescription(String thread, Throwable throwable) { 
      return String.format("Thread: %s, Exception: %s", thread,Log.getStackTraceString(throwable)); 
       } 
      } 
+0

방법으로 안드로이드 애플 리케이션에서 사용할 수 있습니다. 내가이 myTracker.send처럼 내 캐치 조건이 사용 (새 HitBuilders.ExceptionBuilder()() \t \t \t \t \t \t \t 새로운 StandardExceptionParser (이, 널 \t \t \t \t \t \t \t \t \t \t \t .setDescription \t \t \t .getDescription (Thread.currentThread() \t \t \t.\t \t \t \t \t \t \t .getName(), E)) setFatal) (FALSE \t \t \t \t \t .build()); –

+0

@VijayRajput 당신을 얻지 못했습니다. –

+0

안드로이드 앱 활동에서 사용하는 방법 –