Titanium Mobile中使用Google Analytics

本文介绍如何在Titanium项目中集成Google Analytics进行页面视图和事件跟踪,包括安装步骤、代码示例及如何查看统计数据。
[b]Titanium-Google-Analytics 的安装[/b]

为了计测,需要使用在github中公开的[url=https://github.com/rogchap/Titanium-Google-Analytics]Titanium-Google-Analytics[/url]。将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"。

[b]analytics_trackPageview[/b]
为了跟踪页面一览显示的Pageview而使用的。

analytics.trackPageview里,path必须设置成"/app/" + Titanium.Platform.name。

累计统计的应用利用和Web站点的analytics的Key相同,所以为了能够分清是应用中的PageView行动,先头要追加“/app/”。

而且,iPhone和Android两种应用是通过相同的代码编译过来的,为了能否分清是从哪个平台的访问,要继续追加Titanium.Platform.name。
但是如果是为应用真么申请的Analysis的Key的话,不用追加"/app/"和Titanium.Platform.name也没有问题。

[b]analytics_trackEvent[/b]
"按下刷新按钮",“登陆失败/成功”等事件的跟踪使用次方法。


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件后统一发送过去。


[b]实际Track[/b]

上边的安装完成后,在想计测的地方插入以下代码:

// 传递参数: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信息:
[img]http://dl.iteye.com/upload/attachment/607426/c7865e9e-5424-3675-ba00-326c93809dfb.png[/img]

而且,按选择左边菜单的“Event Tracking”可以看到Event的追踪信息
[img]http://dl.iteye.com/upload/attachment/607430/e939212c-265c-3fbf-974c-c6f84321668b.png[/img]

在List的分类中,表示了Reload动作的发生回数。

这里我们在上一个阶层
[img]http://dl.iteye.com/upload/attachment/607430/e939212c-265c-3fbf-974c-c6f84321668b.png[/img]

就能看到那个页面的刷新按钮被按下了。

这样,查看Pageview和Event的追踪信息。

Google Analytics for Mobile

不只是Titanium,一般的应用开发当中,使用公开的Google Analytics for Mobile SDK都能取得这回我们介绍的同样的内容Log。

【原文】[url=http://d.hatena.ne.jp/chris4403+tech/20110128/1296189155]Titanium MobileでGoogle Analyticsを利用する[/url]
【电动车】基于多目标优化遗传算法NSGAII的峰谷分时电价引导下的电动汽车充电负荷优化研究(Matlab代码实现)内容概要:本文围绕“基于多目标优化遗传算法NSGA-II的峰谷分时电价引导下的电动汽车充电负荷优化研究”展开,利用Matlab代码实现优化模型,旨在通过峰谷分时电价机制引导电动汽车有序充电,降低电网负荷波动,提升能源利用效率。研究融合了多目标优化思想与遗传算法NSGA-II,兼顾电网负荷均衡性、用户充电成本和充电满意度等多个目标,构建了科学合理的数学模型,并通过仿真验证了方法的有效性与实用性。文中还提供了完整的Matlab代码实现路径,便于复现与进一步研究。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的高校研究生、科研人员及从事智能电网、电动汽车调度相关工作的工程技术人员。; 使用场景及目标:①应用于智能电网中电动汽车充电负荷的优化调度;②服务于峰谷电价政策下的需求侧管理研究;③为多目标优化算法在能源系统中的实际应用提供案例参考; 阅读建议:建议读者结合Matlab代码逐步理解模型构建与算法实现过程,重点关注NSGA-II算法在多目标优化中的适应度函数设计、约束处理及Pareto前沿生成机制,同时可尝试调整参数或引入其他智能算法进行对比分析,以深化对优化策略的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值