简介

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,愿本文能帮助你更加方便地做应用的统计和分析工作。

Posted by 唐巧 Nov 14th, 2013  iOS

转载于:https://www.cnblogs.com/sunnyke/p/4495075.html

Flurry——统计和分析用户行为相关推荐

  1. 关于App的数据统计和分析

    原文地址:https://blog.csdn.net/whywhom/article/details/69963119 "一切都是数据"将成为其必然的趋势.经过了几年的发展和积累, ...

  2. iOS7以后,我们如何统计和跟踪用户

    设备唯一标示,在App中,常用来统计和跟踪用户的行为.自从苹果在iOS5之后废弃掉了UDID后,找到一个稳定可用的设备标识一时成了业界棘手的问题,我们先看看目前的几种方案. 1 UDID  UIDev ...

  3. 微博 用户画像_分析用户画像?从微博数据采集开始!

    想设计一款新的产品,你了解未来的用户是什么样吗?想提升服务质量,用户调研应该怎么做?想评估新功能上线效果,用户情感偏好你了解吗?有了用户画像,这些问题的答案就变得逐渐清晰起来. 那么关键问题来了,用户 ...

  4. 用户体验五要素_Kwai竞品分析-用户体验五要素

    今天给大家分享下前段时间学习的产品课程-保姆级别竞品分析<Kwai竞品分析-用户体验五要素>- 刚过完年在家闲来没事就参加了一个比赛,全力以赴的那种,结果得了人气奖也拿了首推.感觉很棒-人 ...

  5. 用户体验五要素_Kwai竞品分析用户体验五要素

    今天给大家分享下前段时间学习的产品课程-保姆级别竞品分析<Kwai竞品分析-用户体验五要素>- 刚过完年在家闲来没事就参加了一个比赛,全力以赴的那种,结果得了人气奖也拿了首推.感觉很棒-人 ...

  6. 老司机教你分析日志:分析用户的地理位置信息

    摘要: 地理位置的需求 通常我们分析用户的需求,了解到用户当前位置在哪里非常重要,例如,可以根据用户的地理位置,针对性的推广本地广告. 通常,我们可以在客户端获取定位权限来获取GPS信息.但是如果用户 ...

  7. UI设计师分析用户的常用方法

    网络的交互性如今已经成为网络界面[UI设计请添加链接描述](http://www.suzxms.com.cn/ui/)中重要目标之一.为了能从UI设计的角度,更加提高网络的可用性,界面UI设计师们要全 ...

  8. 智能家居助手后台系统原型/智慧家居后台管理系统/应用分析/页面分析/设备分析/用户管理/运营管理/权限管理/系统设置/问题反馈/商城管理/消息管理/用户画像/公告管理/账号画像/留存用户/数据埋点

    作品介绍:智能家居助手后台系统原型/智慧家居后台管理系统/应用分析/页面分析/设备分析/用户管理/运营管理/权限管理/系统设置/问题反馈/商城管理/消息管理/用户画像/公告管理/账号画像/留存用户/数 ...

  9. 利用ClustrMaps | GoStats | 51la | Google Analytics统计和分析访问量

    这几天,没事捣鼓了一下统计和分析访问量的一些工具. 1.ClustrMaps    这个东西就是一张地图,显示的是来访者所在的地方,它的统计是这样的,即一天一个IP,不管一个IP在这一天来了你博客多少 ...

  10. Google分析用户页面滚动深度分析jQuery插件 - jQuery Scroll Depth

    日期:2012-4-29  来源:GBin1.com Google Analytics(Google分析)对于广大站长来说,肯定不是一个陌生的工具,它能提供给我们众多的网站访问相关信息及其用户使用情况 ...

最新文章

  1. oracle的cursor的介绍
  2. 天翼云从业认证(4.8)高性能计算解决方案
  3. 免费OA系统品牌有那些?
  4. [Qt教程] 第15篇 2D绘图(五)绘制图片
  5. UNP学习 高级I/O函数
  6. 【转】VS编译环境命令窗口中的命令
  7. 关于sap的日期,时间
  8. 男性玩家占78.8%、90后玩家占近50%、最多人选择中国风链游……《2019链游玩家需求调研报告》重磅发布!...
  9. Amoeba新版本MYSQL读写分离配置
  10. 科学技术的不完备性及其实践意义
  11. 数据安全风险分析及应对策略研究
  12. 抖音超火的数字炸弹 c++ 实现
  13. 下一代Play Station暂名Orbis但不支持PS3
  14. OSPF中的LSA类型的详解
  15. 2个阶乘什么意思_两个阶乘符号连在一起是什么意思
  16. 出新书了!| 赠书啦,免费包邮
  17. 在Python中进行加减乘除
  18. 自动分发秘钥脚本(复制修改ip即可使用)
  19. 使用MQTTNet包实现客户端与服务端通讯
  20. java计算机毕业设计飞机航班信息查询系统源码+mysql数据库+系统+lw文档+部署

热门文章

  1. SAP This Open SQL statement uses additions that can only be used
  2. 医院预算目标分解公式
  3. 软件测试工程师面试题之(计算机网络上)
  4. java mars2_Mars-java 2.2.2 发布,不需要容器的 Java Web 开发框架
  5. P2000 拯救世界(生成函数裸题+NTT高精)
  6. 不想安装环境,我如何与前端工程师远程协作开发?
  7. 在ubuntu16.04下利用cmake+VC code,断点调试
  8. BOF和EOF的区别
  9. linux怎么生成arm文件,AMR 文件扩展名: 它是什么以及如何打开它?
  10. 多臂赌博机Multi-Armed Bandit(MAB)