2011-06-14 40 views
3

我想在我的应用程序中使用此功能(Google Analytics),但无法弄清楚什么是最好的方法。谷歌分析,从资源/编程的角度来看,使用(实施)它的最佳方式是什么?

在第一个地方,我开始在应用程序的每个活动来实现这一点。

public class MyActivity extends Activity { 

    public static GoogleAnalyticsTracker tracker; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     tracker = GoogleAnalyticsTracker.getInstance(); 
     tracker.start("UA-YOUR-ACCOUNT-HERE", this); 

     tracker.trackPageView("/myActivityView"); 
    } 

    @Override 
    public void onDestroy() { 
     // Stop the tracker when it is no longer needed. 
     tracker.stop(); 
     super.onDestroy(); 
    } 
} 

但现在我想这将是最好创建在应用类中添加跟踪,并从每一个活动,而不是重复这段代码中的每个活动我创建引用它。

谁能解释一下哪种方式更好,为什么?

谢谢。

+0

对不起,我忘了一些代码,其中很明显,GoogleAnalyticsTracker已经意味着是一个单例。现在,这就是为什么我问,是否只有一个实例适用于所有应用程序上下文就足够了,还是最好为每个活动使用一个实例。很抱歉对于这个误会。 – Regys 2011-06-14 16:34:05

+0

如果这是一个单身人士和一个自己的班级,那么你想要什么呢?如果你需要调用很多函数,看看你是否可以简单地将它们组合在一起... – 2011-06-14 16:36:51

回答

3

此:Google Analytics in Android app - dealing with multiple activities

是未来与在Android应用使用谷歌Analytics(分析)的策略很好看。

从本质上说,你不应该调用start()/停止()每次活动,因为start()方法会导致要记录一个新的访问是不是大多数人打算或期望。但如果这是你想要的行为,你可以自由地这样做。

正如Lukas所说的使用单例或者你说的使用Application context来调用start()/ stop()会让你更加准确的跟踪,但是在调用stop()时需要注意的是。上面的链接更详细。

+0

感谢您解决我的疑惑! – Regys 2011-06-15 07:49:50

0

你为什么不为您跟踪,函数的类和创建,并使其成为singleton?然后

这个类可以抱你需要的所有功能(如跟踪页面视图),并完成所有的背景为你工作。

+0

感谢您解决我的疑惑! – Regys 2011-06-15 07:50:17

相关问题