Android应用中谷歌分析的崩溃代码

时间:2014-04-11 10:57:07

标签: android google-analytics

我应该在哪里提供以下代码来报告未捕获的异常?

UncaughtExceptionHandler myHandler = new ExceptionReporter(
    myTracker,                                        // Currently used Tracker.
    Thread.getDefaultUncaughtExceptionHandler(),      // Current default uncaught exception handler.
    context);                                         // Context of the application.

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

我在onCreate()方法中为我的活动创建了一个跟踪器后立即包含了这些行。我看到未捕获的异常有效并且它打印在我的logcat

04-11 16:10:48.024: V/GAV3(13644): Thread[main,5,main]: Tracking Exception: StringIndexOutOfBoundsException (@MainActivity:onConnect:196) {main}
04-11 16:10:48.024: V/GAV3(13644): Thread[main,5,main]: Dispatch call queued. Dispatch will run once initialization is complete.
04-11 16:10:48.024: V/GAV3(13644): Thread[main,5,main]: Passing exception to original handler.
04-11 16:10:48.024: E/AndroidRuntime(13644): FATAL EXCEPTION: main
....

但是我没有在我的帐户中找到它(财产的观点)。我在onCreate()中的代码创建了一个跟踪器

Tracker mainActivityTracker=((ADMPApplication)this.getApplication()).getTracker(TrackerName.APP_TRACKER,this);
        mainActivityTracker.setScreenName("MainActivity");
        // Send a screen view.
        mainActivityTracker.send(new HitBuilders.AppViewBuilder().build());
    //    analytics.dispatchLocalHits();
        UncaughtExceptionHandler myHandler = new ExceptionReporter(mainActivityTracker,Thread.getDefaultUncaughtExceptionHandler(),this); 
        Thread.setDefaultUncaughtExceptionHandler(myHandler);

我收到了setScreenname()的通知。但没有报告崩溃报告。我错过了什么?请帮助我?

2 个答案:

答案 0 :(得分:0)

据我所知,你应该在你的应用程序的Application类的onCreate()函数中实现它

@Override
public void onCreate() {
     Tracker currentTracker = getTracker(AppConfiguration.TrackerName.APP_TRACKER);
     Thread.UncaughtExceptionHandler uncaughtExceptionHandler = new ExceptionReporter(currentTracker,Thread.getDefaultUncaughtExceptionHandler(),this);
     Thread.setDefaultUncaughtExceptionHandler(uncaughtExceptionHandler);
}

此处:What is Application class?

答案 1 :(得分:0)

实际上,这似乎是Google Play服务中的一个错误 - 请参阅:https://code.google.com/p/analytics-issues/issues/detail?id=443。 非常不幸的是,问题仍然没有解决,你可以尝试恢复使用GA v3。

为了记录,我还在我的两台使用GPS> = 4.4.52的设备上观察到同样的问题(除了例外情况之外的一切),但奇怪的是没有安装GPS的另一台设备(在这种情况下)它只是在输入后立即按下它们。)