移动统计工具Flurry

来源:互联网 发布:山东省移动公司网络部 编辑:程序博客网 时间:2024/04/29 20:32

选自唐巧《iOS高级进阶》

Flurry(http://www.flurry.com/)是一家专门为移动应用提供数据统计和分析的公司,其全球的市场份额在移动统计工具中处于领先地位。合理地使用Flurry能够帮助读者更加方便地做应用的统计和分析工作。

本章会介绍Flurry的基本功能,以及如何做自定义的统计,最后会将其与业界其他同类工具做对比。

一:Flurry简介
Flurry的数据统计分析SDK支持的平台包括:iPhone、iPad、Android、Windows Phone、Java ME 和 BlackBerry。使用Flurry服务的公司包括eBay、Yahoo、Hulu和Skype等超过11万家公司,涉及的应用超过36万个。

利用Flurry提供的分析平台,可以很容易地统计出应用的使用情况,例如:
1.每天(每周或每月)登录用户数,应用使用次数。
2.每天(每周或每月)新用户数,活跃用户数。
3.用户的所在地、年龄、性别的分布情况。

Flurry也可以自动统计出移动设备的分类情况,例如:
1.使用3G、WiFi会话的比例。
2.使用iOS系统各版本(例如iOS6.0、iOS7.0等)的比例。
3.使用iOS各种设备(例如iPhone4、iPhone5等)的比例。

除了上面介绍的自动统计项目,Flurry SDK也提供了统计用的相关API,便于我们针对自己产品的特点,做出针对性的统计。例如统计应用中某个按钮的按下次数,或者网络请求的平均响应时间等。

二:Flurry的基本使用
2.1注册和下载对应的SDK
使用Flurry前,需要先到其官方网站(www.flurry.com)注册帐号。然后登录到Flurry后台,依次选择“Applications”——>“Add a New Application”,增加一个需要统计分析的应用,如下图所示:

然后,在接下来的界面中国年根据你的应用类型,选择iPhone或iPad应用,如下图所示:

接着,填入应用的名字和分类(名字仅用作在Flurry后台和自己的其他应用区分不需要和应用的真实名字相同),之后单击“Create APP”按钮,如下图所示。

到此,我们就成功在后台创建了一个新的应用统计和分析项目。

单击下图中的“Download”按钮,可以下载需要集成在应用中的SDK。而下图中提示2中的key:X28BBKTNZ9H3VYTBDBG3则是我们在集成时用于标记自己应用的ID。

2.2集成SDK
我们将下载后的SDK解压,可以看到文件列表如下图所示。列表中我们最重要的文件时Flurry目录下的flurry.h文件和libFlurry_4.3.0.a文件。这两个文件需要复制到Xcode的工程中去。

而ProjectApiKey.txt文件中记录了我们之前创建的应用ID,在代码中调用SDK初始化时需要使用。

接着我们打开Xcode工程,将之前下载解压的Flurry目录拖动添加到工程中,同时在工程的.pch文件中加上#import “Flurry.h”,如下图所示。

接着我们在Link Binary With Libraries中加入两个framework,如下图所示。

  • Security.framework
  • SystemConfiguration.framework

接着我们打开Application.m,在

-(BOOL)application:(UIApplication *)application didFinishLauchingWithOptions:(NSDictionary *)launchOptions方法中,加入代码[Flurry startSession:@"X28BBKTNZ9H3VYTBDBG3"];

如下图所示。

这样,就完成了Flurry最简单的集成。通过以上短短几步,Flurry就可以帮我们完成应用的基本使用数据的统计和分析。

2.3自定义统计项
Flurry提供了logEvent函数,用于实现自定义的统计项。默认情况下,该函数接受一个参数,用于表示当前统计项的名字。

例如我们的界面中有两个按钮,我们想统计它们各自被用户点击的次数,则可以用如下代码实现。在该代码中,我们定义了两个自定义的统计项,名字分别为First Button Pressed和Second Button Pressed。

- (IBAction)firstButtonPressed:(id)sender {    [Flurry logEvent:@"First Button Pressed"];}- (IBAction)secondButtonPressed:(id)sender {    [Flurry logEvent:@"Second Button Pressed"];}

logEvent函数也支持添加各种参数,用于做更加精细的统计,例如,我们想统计用户在同一个页面点击不同按钮的次数分布,看哪些按钮更加常用,则统计代码可以这样实现:

- (IBAction)firstButtonPressed:(id)sender {    [Flurry logEvent:@"Button Pressed" withParameters:@{@"target":@"first"}];}- (IBAction)secondButtonPressed:(id)sender {    [Flurry logEvent:@"Button Pressed" withParameters:@{@"target":@"second"}];}

logEvent 函数也支持统计时间,常常用来统计某个复杂的网络操作的耗时或者用户对于某些界面的响应时间。例如,我们想统计用户停留在某个提示界面的时间,则可以用如下代码完成:

// // FirstViewController.m// FlurryUsageSample//// Create by TangQiao#import "FirstViewController.h"#define FLURRY_EVENT_KEY @"First View Controller"@implementation FirstViewController- (void)viewWillAppear:(BOOL)animated {    [super viewWillAppear:animated];    // 开始统计时间    [Flurry logEvent:FLURRY_EVENT_KEY timed:YES];}- (void)viewWillDisappear:(BOOL)animated {    [super viewWillDisappear:animated];    // 结束统计时间        [Flurry endTimedEvent:FLURRY_EVENT_KEY withParameters:nil];}@end

2.4 查看统计结果
完成上面的自定义统计的代码,待应用发布后,我们就可以从后台的Events栏中看到相应的统计结果了,如下图所示。

2.5 统计Crashlog
Flurry 从4.2.3版开始,支持应用的Crashlog统计。只需在AppDelegate.m文件中,在调用startSession方法之前,调用setCrashReportingEnabled:YES即可:

[Flurry setCrashReportingEnabled:YES];[Flurry startSession:@"YOUR\_API\_KEY"];

注意:一定要在startSession之前调用setCrashReportingEnabled,否则将无法记录Crashlog信息,切记!

之后你就可以从后台管理界面的Errors项中,获得应用的Crashlog信息。

三:对比和总结
3.1 和其他统计分析平台的对比
和著名的统计工具Google Analytics (http://www.goole.com/analytics/)相比,Flurry的优点是:
1.Flurry专门针对移动端做了许多优化,例如统计流量就小很多
2.Flurry没有被“墙”的问题
Flurry的缺点是:
1.Google Analytics的统计功能相对更强大一些
2.Google Analytics可以和网页版的统计数据做整合

和国内的分析平台友盟相比,Flurry的优点时:
1.使用Flurry的应用相对更多。根据Flurry和友盟的官方数据,有超过36万个应用使用Flurry,有超过18万个应用使用友盟
2.Flurry是国外的公司,保持独立和专注,数据安全性更高;友盟现在已经被阿里收购,当用户的应用涉及的业务和阿里有类似或者重合的时候,那么该数据统计有潜在的安全性问题,这也是京东不支持用支付宝付款的原因。
Flurry的缺点是:
1.友盟因为是中国公司,所以对国内开发者非常友善,相关的文档或界面都是中文。而Flurry并不提供中文的后台管理界面或相关文档。
2.Flurry的服务器在国外,在响应速度上应该比友盟慢一些。但在测试中,Flurry服务器都保证了500ms左右的响应时间,还是比较好的。

3.2 总结
本章介绍了Flurry的基本功能及如何做自定义的统计,最后与业界同类工具做了对比

相关示例代码整理到GitHub上,地址是:
https://gitHub.com/tangqiaoboy/FlurryUsageSample,合理地使用Flurry能够帮助读者更加方便地做应用的统计和分析工作。

注:相关图片后续补充

0 0
原创粉丝点击