LoginSignup
5
5

More than 5 years have passed since last update.

Google Analytics SDK v3でUncaughtExceptionのフルスタックトレースを送る

Posted at

まず、カスタムパーサーを定義する。

//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"

参考: http://stackoverflow.com/questions/14009883/exception-stack-trace-lost-in-google-analytics-v2-for-android

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5