4

私は、分析用のMixPanelとエラー監視用のBugSnagと統合された Android アプリケーションに取り組んでいます。

最近、アプリケーションでクラッシュが発見されました。クラッシュの根本的な原因が見つからなかったため、バグが発生したときにアプリを再起動するコードを追加しました。再起動に伴い、バグの発生回数の追跡も開始しました。私の好みは Bugsnag を同じように使用することでしたが、チームの数人が、なぜ MixPanel を使用できないのかと尋ねました。MixPanel に送信したパラメーターでイベントを簡単に除外できるからです。しかし、MixPanel をユーザー イベントの追跡専用として使用するべきではないと思います。また、ユーザーイベントが原因でクラッシュも再起動も発生せず、ランダムに発生します。

同じことに関するコミュニティからの提案/考えを聞きたいです。

4

1 に答える 1

0

で使用Thread.setDefaultUncaughtExceptionHandler(...)して、すべての UncaughtExceptions (クラッシュ) を MixPanel に追跡するApplication.onCreateカスタムを設定し、次のようなプロパティを設定できます。Thread.UncaughtExceptionHandler

public class MyExceptionHandler implements UncaughtExceptionHandler
{
    private UncaughtExceptionHandler defaultExceptionHandler;

    public MyExceptionHandler (UncaughtExceptionHandler defaultExceptionHandler)
    {
        this.defaultExceptionHandler = defaultExceptionHandler;
    }

    public void uncaughtException(Thread thread, Throwable exception)
    {
        mMixPanelInstance.trackEvent("APP_CRASH", null);
        if (defaultExceptionHandler != null)
        {
            defaultExceptionHandler.uncaughtException(thread, exception);
        }

    }
}


MyApplication.onCreate(...)
{
    UncaughtExceptionHandler currentHandler = Thread.getDefaultUncaughtExceptionHandler();

    Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler(currentHandler));
}
于 2015-03-27T23:36:59.223 に答える