博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Android应用开发攻略》——2.8 在Android应用中使用Google Analytics
阅读量:5832 次
发布时间:2019-06-18

本文共 2195 字,大约阅读时间需要 7 分钟。

2.8 在Android应用中使用Google Analytics

Ashwini Shahapurkar

2.8.1 问题
开发人员往往希望跟踪用户使用的应用程序功能。你如何确定自己的应用程序用户最常使用的是哪个功能?
2.8.2 解决方案
可以使用Google Analytics,根据定义的条件跟踪应用程序,这和网站跟踪的机制相近。
2.8.3 讨论
在应用程序中使用Google Analytics之前,需要一个分析账户和Google Analytics SDK。

在项目的AndroidManifest.xml文件中添加如下授权:

现在,登录你的分析账户并为应用程序创建网站简档。网站的URL可以是虚拟的,但是应该有描述性,建议使用逆序的包名称。例如,如果应用程序包名称为com.example.analytics.test,记下这个ID,将在应用程序中用到它。这个Web属性ID又称跟踪代码的UA号,是网站简档的唯一标识。

注意: 你必须在应用程序中提及将要收集应用程序中的匿名用户数据以跟踪应用程序。
现在,我们已经为跟踪应用程序做好了准备。调用GoogleAnalyticsTracker.getInstance()方法获取跟踪器的单例实例。然后调用该类的start()方法启动跟踪。通常,你希望跟踪的不仅是应用程序的活动。在这种情况下,将跟踪器实例放在应用的Application类的OnCreate()方法中是一个好主意(见例2-9)。
例2-9:应用程序跟踪的实现

public class TestApp extends Application {/*定义应用程序简档创建之后获取的Web属性ID*/private String webId = "UA-NNNNNNNN-Y";/*Analytics跟踪器实例*/GoogleAnalyticsTracker tracker;@Override    public void onCreate() {        super.onCreate();                //获取单态的跟踪器实例        tracker = GoogleAnalyticsTracker.getInstance();                //用你的属性ID启动跟踪应用        tracker.start(webId,getApplicationContext());        //这里加入应用程序相关的代码    }        /* 跟踪器实例获取程序,在活动获取跟踪器实例引用的时候调用*/        public GoogleAnalyticsTracker getTracker() {        return tracker;    }}

可以调用跟踪器实例的trackPageView()和trackEvent()方法(见例2-10)跟踪活动中的视图和事件。

例2-10:带跟踪的主活动

public class MainActivity extends Activity{    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);            //track the page view for the activity        GoogleAnalyticsTracker tracker = ((TestApp)getApplication()).getTracker();            tracker.trackPageView("/MainActivity");            /*You can track events like button clicks*/            findViewById(R.id.actionButton).setOnClickListener(               new View.OnClickListener() {               @Override               public void onClick(View v) {                  GoogleAnalyticsTracker tracker =                      ((TestApp)getApplication()).getTracker();                  tracker.trackEvent("Action Event",                      "Action Button", "Button clicked",0);               tracker.dispatch();               }        });    // 在这里放入程序代码    }}

记住,事件和页面视图在调用跟踪器上的dispatch()方法之前不会发送给服务器,可以在该方法内跟踪所有活动和事件。

转载地址:http://gugdx.baihongyu.com/

你可能感兴趣的文章
opennebula 开发记录
查看>>
sql 内联,左联,右联,全联
查看>>
C++关于字符串的处理
查看>>
6、Web Service-拦截器
查看>>
Flask 源码流程,上下文管理
查看>>
ZAB与Paxos算法的联系与区别
查看>>
Breaking parallel loops in .NET C# using the Stop method z
查看>>
修改故障转移群集心跳时间
查看>>
[轉]redis;mongodb;memcache三者的性能比較
查看>>
微软职位内部推荐-Sr DEV
查看>>
让你的WPF程序在Win7下呈现Win8风格主题
查看>>
802.11 学习笔记
查看>>
Leetcode-Database-176-Second Highest Salary-Easy(转)
查看>>
构建Docker Compose服务堆栈
查看>>
最小角回归 LARS算法包的用法以及模型参数的选择(R语言 )
查看>>
Hadoop生态圈-Kafka常用命令总结
查看>>
如何基于Redis Replication设计并实现Redis-replicator?
查看>>
浮点数内存如何存储的
查看>>
贪吃蛇
查看>>
EventSystem
查看>>