2013-02-10 57 views
1

我在我的Android应用程序内使用谷歌分析V2的测试版4。为了方便起见,我包裹它在一个单独的类(单)所示:谷歌分析为Android忽略setDebug

private AnalyticsTracker(Context context) { 

    GAServiceManager.getInstance().setDispatchPeriod(5); 
    GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(context); 

    googleAnalytics.setDebug(true); 

    tracker = googleAnalytics.getTracker(context.getString(R.string.ga_trackingId)); 
} 

用于进一步使用我使用的EasyTracker为活动跟踪和追踪事件跟踪器成员变量。

public void onActivityStart(Activity activity) { 
    EasyTracker.getInstance().activityStart(activity); 
} 

public void onActivityStop(Activity activity) { 
    EasyTracker.getInstance().activityStop(activity); 
} 

public void trackEvent(AnalyticsEvent event) { 
    tracker.sendEvent(event.category, event.action, event.label, 0L); 
    GAServiceManager.getInstance().dispatch(); 
} 

的问题是,setDebug(真)在构造函数中似乎没有对logcat的没有输出和我的相互作用似乎在报告中被忽略。我没有在analytics.xml中设置调试标志。

如果我这样做并在xml文件中将该标志设置为true,它将按预期工作,并且分析将事件记录到LogCat。

任何想法为什么它忽略了代码调用?

感谢

回答

1

使用<bool name="ga_debug">false</bool>在analytics.xml价值观文件夹enableing禁用调试。

analytics.xml:

<!-- Replace placeholder ID with your tracking ID --> 
<string name="ga_trackingId">UA-123456-2</string> 

<!-- Enable automatic activity tracking --> 
<bool name="ga_autoActivityTracking">true</bool> 

<!-- Enable automatic exception tracking --> 
<bool name="ga_reportUncaughtExceptions">true</bool> 

<!-- Enable debug --> 
<bool name="ga_debug">false</bool> 

<!-- The screen names that will appear in your reporting --> 
<string name="com.example.myapp.MainActivity">any name</string> 

<!--The inverval of time after all the collected data should be sent to the server, in seconds.--> 
<integer name="ga_dispatchPeriod">30</integer> 

编号:link

+0

当然,我试过好,但即使我调试设置为true,我的数据会出现在报告... – user1033552 2013-02-12 17:10:35