Titanium-Google-Analytics 的安装
为了计测,需要使用在github中公开的
Titanium-Google-Analytics。将Project check out后,把Resouces/analytics.js拷贝到自己的Project同样的目录下。
然后,在app.js的最开始位置,追加以下代码:
/* analytics */
Titanium.include('analytics.js');
var analytics = new Analytics('UA-XXXXXX-XX');
Titanium.App.addEventListener('analytics_trackPageview', function(e){
var path = "/app/" + Titanium.Platform.name;
analytics.trackPageview(path + e.pageUrl);
});
Titanium.App.addEventListener('analytics_trackEvent', function(e){
analytics.trackEvent(e.category, e.action, e.label, e.value);
});
Titanium.App.Analytics = {
trackPageview:function(pageUrl){
Titanium.App.fireEvent('analytics_trackPageview', {pageUrl:pageUrl});
},
trackEvent:function(category, action, label, value){
Titanium.App.fireEvent('analytics_trackEvent', {category:category, action:action, label:label, value:value});
}
}
analytics.start(10);
/* analytics end */
简单说明一下以上代码。
Titanium.include('analytics.js');
var analytics = new Analytics('UA-XXXXXX-XX');
包含analytics.js之后,用计测的Analysis的Key作为参数生成analytics实例。
Titanium.App.addEventListener('analytics_trackPageview', function(e){
var path = "/app/" + Titanium.Platform.name;
analytics.trackPageview(path + e.pageUrl);
});
Titanium.App.addEventListener('analytics_trackEvent', function(e){
analytics.trackEvent(e.category, e.action, e.label, e.value);
});
Titanium.App是全局对象,往这个对象中追加监听事件"analytics_trackPageview" 和"analytics_trackEvent"。
analytics_trackPageview
为了跟踪页面一览显示的Pageview而使用的。
analytics.trackPageview里,path必须设置成"/app/" + Titanium.Platform.name。
累计统计的应用利用和Web站点的analytics的Key相同,所以为了能够分清是应用中的PageView行动,先头要追加“/app/”。
而且,iPhone和Android两种应用是通过相同的代码编译过来的,为了能否分清是从哪个平台的访问,要继续追加Titanium.Platform.name。
但是如果是为应用真么申请的Analysis的Key的话,不用追加"/app/"和Titanium.Platform.name也没有问题。
analytics_trackEvent
"按下刷新按钮",“登陆失败/成功”等事件的跟踪使用次方法。
Titanium.App.Analytics = {
trackPageview:function(pageUrl){
Titanium.App.fireEvent('analytics_trackPageview', {pageUrl:pageUrl});
},
trackEvent:function(category, action, label, value){
Titanium.App.fireEvent('analytics_trackEvent', {category:category, action:action, label:label, value:value});
}
}
继续说,为Titanium.App.Analytics定义属性,这里我们定义2个函数,各自为了调用"analytics_trackPageview"
和"analytics_trackEvent"而定义的函数。
analytics.start(10);
最后,定义往Google Analytics发送数据的间隔时间(单位:秒)。
在这里每10秒发送一次数据,这期间中追踪到的PageView和Event信息,保存到1000件后统一发送过去。
实际Track
上边的安装完成后,在想计测的地方插入以下代码:
// 传递参数:page名
Titanium.App.Analytics.trackPageview('/hogePage');
// 传递参数:分类名,动作名,标示,值
Titanium.App.Analytics.trackEvent('Category','mogeAction','hoge',1);
作为实例,我们用hatena的代码作为例子。
hatena的集计中,按照下边的代码,每个窗口focus的Event中计测PageView。
winRecent.addEventListener('focus', function(e){
Titanium.App.Analytics.trackPageview('/winRecent');
});
winFinish.addEventListener('focus', function(e){
Titanium.App.Analytics.trackPageview('/winFinish');
});
winHome.addEventListener('focus', function(e){
Titanium.App.Analytics.trackPageview('/winHome');
});
winFollow.addEventListener('focus', function(e){
Titanium.App.Analytics.trackPageview('/winFollow');
});
winSetting.addEventListener('focus', function(e){
Titanium.App.Analytics.trackPageview('/winSetting');
});
集计的应用中,应用的最初必须调用winRecent,所以查看这里的URL的uniquePageview就能大体了解应用的下载数。
各个集计页面中,
win.addEventListener('focus', function(e){
Titanium.App.Analytics.trackPageview('/winCount/' + win.count.id);
});
按照这样的代码,集计的id中包含pageName,能够看到访问那个集计页面数比较多。
Event的追踪,比如登陆时,登陆按钮按下后,以下的事件
Titanium.App.Analytics.trackEvent('Button','Click','login',1);
而且,登陆的成功,失败时,各自按以下代码追踪Event,就能知道哪些用户登陆成功或失败了。
// 登陆成功时调用
Titanium.App.Analytics.trackEvent('Login','Success','login',1);
// 登陆失败时调用
Titanium.App.Analytics.trackEvent('Login','Error','login',1);
使用Google Analytics查看追踪信息
查看追踪信息,跟一般的Google Analytics是一样的。
下面展示了发布一周后的pageView信息:
而且,按选择左边菜单的“Event Tracking”可以看到Event的追踪信息
在List的分类中,表示了Reload动作的发生回数。
这里我们在上一个阶层
就能看到那个页面的刷新按钮被按下了。
这样,查看Pageview和Event的追踪信息。
Google Analytics for Mobile
不只是Titanium,一般的应用开发当中,使用公开的Google Analytics for Mobile SDK都能取得这回我们介绍的同样的内容Log。
【原文】
Titanium MobileでGoogle Analyticsを利用する