2014-01-08 72 views
0

我想捕獲所有異常,並在谷歌分析中有意義地報告它們。什麼是迄今爲止我所做的是:google analytics v3捕獲所有異常

設置​​,我想這是針對的EasyTracker這樣使活動唯一的工作:EasyTracker.getInstance(this).activityStart(this);

想追上應用級的所有異常,並且的EasyTracker也保持在定義的活動中工作。

我試圖修改的V2的解決方案爲V3,但仍然沒有看到我在谷歌分析異常(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){ 
    } 
} 

並在代碼中的任意位置調用該函數作爲

 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

如何在Android應用程序中使用。我用這個在我的捕捉條件這樣myTracker.send(新HitBuilders.ExceptionBuilder() \t \t \t \t \t .setDescription( \t \t \t \t \t \t \t新StandardExceptionParser(這一點,空) \t \t \t \t \t \t \t \t \t .getDescription(Thread.currentThread() \t \t \t。\t \t \t \t \t \t \t .getName()中,e))setFatal(假) \t \t \t \t \t .build()); –

+0

@VijayRajput沒有得到你。 –

+0

如何在Android應用活動中使用 –