为了计测,需要使用在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を利用する