まず、カスタムパーサーを定義する。
//AnalyticsExceptionParser.java
import org.apache.commons.lang3.exception.ExceptionUtils;
import com.google.analytics.tracking.android.ExceptionParser;
public class AnalyticsExceptionParser implements ExceptionParser {
/*
* (non-Javadoc)
* @see com.google.analytics.tracking.android.ExceptionParser#getDescription(java.lang.String, java.lang.Throwable)
*/
public String getDescription(String p_thread, Throwable p_throwable) {
String res= "Thread: " + p_thread + ", Exception: " + ExceptionUtils.getStackTrace(p_throwable);
return res;
}
}
Applicationを定義し、パーサーをセットする。
//Application.java
@Override
public void onCreate() {
super.onCreate();
initializeGa();
// Change uncaught exception parser...
ExceptionReporter myHandler; // Current default uncaught exception handler.
myHandler = new ExceptionReporter(GoogleAnalytics.getInstance(this).getDefaultTracker(), // Tracker, may return null if not yet initialized.
GAServiceManager.getInstance(), // GAServiceManager singleton.
Thread.getDefaultUncaughtExceptionHandler(), this);
myHandler.setExceptionParser(new AnalyticsExceptionParser());
Thread.setDefaultUncaughtExceptionHandler(myHandler);
}
AndroidManifest.xmlでApplicationを定義したものに変更する。
<!--AndroidManifest.xml-->
<application
android:name="com.example.Application"