0

我想在我的应用程序的整个7项活动中跟踪所有活动和按钮点击。现在我正在执行GA的一开始。我在我的开始主菜单屏幕上工作,并可以通过google.com/analytics在线查看。我的问题是如何在所有活动中实现这一点?让GoogleAnalytics在所有活动中工作

现在在我的主菜单类我有这样的:

private Tracker tracker; 
private GoogleAnalytics ga; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.mainmenumain); 


    EasyTracker.getInstance().activityStart(this); 

    //Get the GA singleton. 
    ga = GoogleAnalytics.getInstance(this); 

    //ga.setDebug(true); 

    //Use the GA singleton to get a Tracker object. 
    tracker = ga.getTracker("UA-###-1"); 

我必须声明2个变量,然后调用EasyTracker.getInstance().activityStart(this);ga = GoogleAnalytics.getInstance(this);tracker = ga.getTracker("UA-####-1");在每一个活动?

我知道有类似的主题在那里,但我问这个为Google Analytics新的2版本,而不是旧版本1.

回答

1

对于Analytcs V2,这些都是你在你活动需要的只有2行:

EasyTracker.getInstance().activityStart(this); 
Tracker trackerV2 = EasyTracker.getTracker(); 

你是那种混合了V1和V2电话。跟踪器实例化(关联您的API密钥)通过在清单中一个属性设置,让您不再需要行:

tracker = ga.getTracker("UA-####-1"); 
+0

尽管此答案需要重复代码,但我将此标记为答案,因为代码是关于如何实现的。 – Matt 2013-02-27 14:24:21

+0

另外,感谢您澄清我如何混合V1和V2。 – Matt 2013-02-27 14:25:13

+0

Google建议EasyTracker方法调用应在onStart&onStop中。请参阅https://developers.google.com/analytics/devguides/collection/android/v2/#tracking-methods。 – dannyroa 2013-02-27 22:30:12

2

实现新的BaseActivity做的工作在它的onCreate方法,然后进行你所有的7项活动都扩展了BaseActivity。
记得在你的活动中调用super.onCreate。

+0

这种方法是在你的BaseActivity你可以拥有所有常见功能更好,减少重复代码。 – omermuhammed 2013-02-27 14:06:26

+0

我讨厌使用这种东西的BaseActivity。我认为它会将你的逻辑混淆成基本不变的基类,并演变成巨大的自定义。但是,这是一个偏离题目,而不是这个特定主题。我也认为对于2行来说,创建BaseActivity并不值得。 – Booger 2013-02-27 18:20:21

+0

是否需要添加2行或1行无关紧要。重要的是需要多少个地方放置这些线条。如果所有活动都真的需要该功能,那么使用BaseActivity是一个更好的选择。 – Bolton 2013-02-28 01:26:40