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的基本使用

注册和下载对应SDK

使用Flurry前,需要先到官方网站http://www.flurry.com/注册账号。然后登录到Flurry后台,依次选择 "Applications" -> “Add a New Application" ,增加一个需要统计分析的应用。如下图所示:

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

接着,填入应用的名字和分类(名字仅用作在Flurry后台和自己的其它应用区分,不需要和应用的真实名字相同),之后点击”Create App”,如下所示:

到此,我们就成功在后台创建了一个新的应用统计和分析项目。点击下图中的”Download”,可以下载需要集成在应用中的SDK。而下图中的提示2中的Key:X28BBKTNZ9H3VYTBDBG3则是我们在集成时用于标识自己应用的ID。

集成SDK

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

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

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

接着我们在Link Binary With Libraries中加入如下2个依赖的framework:

  • Security.framework
  • SystemConfiguration.framework。

接着我们打开 AppDelegate.m,在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中,加入代码[Flurry startSession:@"X28BBKTNZ9H3VYTBDBG3"];,如下图所示:

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

自定义统计项

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

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

1
2
3
4
5
6
7
8
- (IBAction)firstButtonPressed:(id)sender {    [Flurry logEvent:@"First Button Pressed"];
}

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

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

1
2
3
4
5
6
7
8
9
10
- (IBAction)firstButtonPressed:(id)sender {    [Flurry logEvent:@"Button Pressed"
      withParameters:@{@"target": @"first"}];
}

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//
//  FirstViewController.m
//  FlurryUsageSample
//
//  Created by TangQiao on 13-10-25.
//  Copyright (c) 2013年 TangQiao. All rights reserved.
//

#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

查看统计结果

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

统计Crashlog

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

1
2
[Flurry setCrashReportingEnabled:YES];
[Flurry startSession:@"YOUR_API_KEY"];

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

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

和其它统计分析平台的对比

和著名的统计工具Google Analytics相比,Flurry的优点是:

  1. Flurry专门针对移动端做了许多优化,例如统计流量就小很多。
  2. Flurry没有被墙的问题。

Flurry缺点是:

  1. Google Analytics的统计功能相对更强大一些。
  2. Google Analytics可以和网页版的统计数据做整合。

和国内的分析平台友盟相比,Flurry的优点是:

  1. 使用Flurry的应用相对更多。根据Flurry和友盟的官方数据,有超过36万应用使用Flurry1,有超过18万应用使用友盟2。
  2. Flurry是国外的公司,保持独立和专注,数据安全性更高;友盟现在已经被阿里收购,当用户的应用涉及领域和阿里有类似或重合的时候,那么该统计数据有潜在的安全性问题。

Flurry的缺点是:

  1. 友盟因为是中国公司,所以对国内开发者非常友善,相关的文档或界面都是中文的。而Flurry并不提供中文的后台管理界面或相关文档。
  2. Flurry的服务器在国外,在响应速度上应该相对比友盟慢一些。但在测试中,Flurry服务器都保证了500ms左右的响应时间,还是比较好的。

总结

本文介绍了Flurry的基本功能以及如何做自定义的统计,最后与业界其它同类工具做了对比。我也将相关示例代码整理到github上,地址是:https://github.com/tangqiaoboy/FlurryUsageSample,愿本文能帮助你更加方便地做应用的统计和分析工作。

统计分析用户信息量的工具Flurry的使用相关推荐

  1. Apache用户目录枚举工具apache-users

     Apache用户目录枚举工具apache-users Apache服务器提供UserDir模块,允许在网站为不同的用户设置对应的目录.这样,用户可以使用http://example.com/~use ...

  2. Axure经典案例高保真交互下载(数据统计图高保真原型+雷达图+条形图+折线图+web端通用后台管理原型+统计表、统计分析+用户画像分析)

    Axure原型作品内容包括:数据统计图高保真原型+雷达图+条形图+折线图+web端通用后台管理原型+统计表.统计分析+用户画像分析+认证监控预警 以下是Axure部分作品图片截图展示,想看交互效果的请 ...

  3. Windows用户层技术工具与源码分享

    Windows用户层技术工具与源码分享 文章目录 Windows用户层技术工具与源码分享 一.注入与隐藏 1.窗口界面介绍 2.远程线程注入 3.APC注入 4.突破SESSION0隔离的远程注入 5 ...

  4. 客户资源信息管理后台/机构管理/信息管理/商机管理/产品管理/合同管理/日志管理/预约管理/任务清单/员工管理/资料库管理/统计分析/用户管理/售后日志/系统配置/crm客户管理系统/系统对接管理

    Axure作品介绍:客户资源信息管理后台/机构管理/信息管理/商机管理/产品管理/合同管理/日志管理/预约管理/任务清单/员工管理/资料库管理/统计分析/用户管理/售后日志/系统配置/crm客户管理系 ...

  5. 重新发布【谷歌输入法用户词典整理工具】

    这是我2008年(在帮助->关于里可以看到)写的程序,用来整理谷歌输入法的用户词典,把低频词删去. 这个工具很有用,我一直在使用.我是把它加入计划任务,每个月运行一次. 下载地址:http:// ...

  6. 浏览器的用户脚本管理工具

    个人博客: http://demi-panda.com Posted 2013-01-14  |  暂无评论  |  By 熊猫人 用户脚本  互联网  firefox  chrome  浏览器  最 ...

  7. 计算机本地用户和组系统管理员,【判断题】你是一台Windows Server 2008计算机的系统管理员,你可以使用本地用户和组工具来管理该计算机中的组账号。...

    [判断题]你是一台Windows Server 2008计算机的系统管理员,你可以使用本地用户和组工具来管理该计算机中的组账号. 更多相关问题 E类火灾是指()火灾.A.固体B.液体C.气体D.带电 ...

  8. Linux 设置windows可见的文件夹共享,创建只拥有读权限的共享用户,samba工具安装,“smbpasswd: command not found“问题解决

    linux 设置 windows 可见的共享文件夹 第一章:文件夹共享设置方法 ① 设置文件共享,只拥有读权限 ② windows 用户访问测试 ③ samba 服务安装,"smbpassw ...

  9. Linux日常运维管理技巧(四)文件同步工具-rsync、Linux系统日志、dmesg命令、lastb命令查看登录失败的用户、screen工具虚拟屏幕

    目录 Linux文件同步工具-rsync Linux系统日志 dmesg命令 lastb命令 screen工具 Linux文件同步工具-rsync rsync命令是一个远程数据同步工具,可通过LAN/ ...

  10. 微信小程序php java_PHP实现微信小程序用户授权的工具类

    事先准备工作 1.申请一个小程序,申请地址:传送门 2.仔细阅读小程序的用户授权登陆官方文档:<用户授权登陆的流程> 3.仔细阅读微信用户数据解密的相关文档:<用户数据解密说明文档& ...

最新文章

  1. 改改 Python 代码,运行速度还能提升 6 万倍,Science:先别想摩尔定律了
  2. 全球互联正在创造一个知识极大丰富和隐私终结的时代
  3. python的语法类似php_PHP实现类似python__mian__=__name__来单独执行类文件
  4. jqGrid文字根据表格大小自动换行
  5. composer 完整路径才能访问_一份完整的运营方案策划思路,拿走不谢(精华版)
  6. c语言中0到9的as编码c2,(全国计算机等级考试二级笔试样卷VsualBasc语言程序设计.doc...
  7. 第三次预作业20155231邵煜楠:虚拟机上的Linux学习
  8. 阿里云云数据库RDS秒级监控功能解锁,通宵加班找故障将成为过去式
  9. class react 获取_「前端进阶」React系列九 - 受控非受控组件
  10. dd for windows
  11. study - 收藏集 - 掘金
  12. nginx upstream 代理 负载
  13. 渥太华大学计算机科学,【加拿大渥太华大学计算机科学排名第四】渥太华大学录取条件...
  14. CC2540蓝牙开发一BLE例程
  15. 二进制转换成十进制(C语言)
  16. GPS从入门到放弃(十七) --- 对流层延时
  17. 关于2048小游戏的开发感想
  18. 雷军的本命年:轮回中的挫败、幸运和逆袭
  19. 学习资料怎么打印,能用手机直接打印学习资料
  20. window下Nexus私服高级搭建

热门文章

  1. Linux/Unix下Shell快捷键操作大集合
  2. 2022-2028全球智能户外电视行业调研及趋势分析报告
  3. Docker学习笔记——Docker基础
  4. 国内科技巨头的区块链布局:BAT多领域布局,迅雷领跑主链
  5. OSChina 周三乱弹 ——垂死病中惊坐起,夜深还过女嫱来
  6. 罗斯柴尔德家族与人类的四次战争
  7. RPL基础知识点与组网过程
  8. 电源防反接电路 供电自动切换电路 - MOS管体二极管的应用
  9. 第3章 从零开始的计算机系统
  10. 关于Mysql8.0时区表问题解决