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

注册和下载对应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

时间: 2024-10-06 23:23:51

Flurry——统计和分析用户行为的相关文章

商业智能系统--公司运营、系统运行等的统计和分析

开篇 商业智能系统,Business Intelligence,BI,数据中心,叫法各异,职责相同,以下统一称为BI系统. BI负载对于公司的运营效果.系统的运行情况及改版效果,基于数据层面,进行比较客观的统计和分析,为高层管理人员对于公司运营.为产品部门对于网站的设计及改版或算法调整前后效果,提供参考及考量. BI系统的职责是统计分析相关的,对数据的实时性要求不高,允许一天以上的数据延迟:对于和具体的业务密切相关的.或者实时性要求高的统计分析,则不应该放到BI系统,而是应该放在各自的业务支持系

通过站点的訪问统计优化站点-10个免费的站点统计和分析工具

站点訪问统计能为你带来什么? 第一,查看訪问者的国家和地区: 第二,查看訪问者来源,如用是从搜索引擎,还是从其它网站的友情链接链接引入 第三,查看訪问者使用的操作系统,显示分辨率等 第四,查看站点哪些文章或页面訪问率较高,受用户欢迎 以下是10个免费的站点统计和分析工具: Google Analytics评分: 8/10 最好最著名的免费站点统计和解析工具.它尽可能提供一切你求之不得的数据.主要长处是没有不论什么限制. Google Analytics 不解析的东西: a. 你无法查看訪客的 I

大学生实习就业调研报告之一 - 调研数据统计和分析

摘要:2014年8月,CSDN高校俱乐部推出面向大学生的<实习就业需求调研>活动.截止10.31日活动结束,共收到几百所高校学生的反馈,汇集当代大学生在实习就业中普遍存在的心态问题及就业期望.为此高校俱乐部整理分析全部调研数据,针对学生反响强烈的有代表性和针对性的问题,邀请业内专家和管理者进行逐一答复,希望对即将毕业和迷茫中在读的大学生,提供借鉴帮助和指导裨益.本文为CSDN高校俱乐部原创,全部观点为原始采集.如需转载,请注明出处CSDN高校俱乐部,或联系[email protected].

【用户分析-用户场景】这TM才是产品思维!

@奶牛Denny :很长一段时间里,市场推广/营销(Marketing)在中国似乎是一个大家很忌讳的词汇.市场推广无非就是夸大包装,炒作一下,卖卖情怀——很多人都是这么觉得的,因为确实有一部分急功近利者是这么干的. 这些人,错过了很多的乐趣. 所以我想分享一个自己工作中的真实案例,来弥补一些乐趣.如果以自己的创业项目为例,总有王婆卖瓜之嫌,所以我要说的这个案例,是在一个大公司“内部创业”的故事. 今年上半年的时候我还在大众点评工作,负责其Marketing.而在四月至六月的这段时间里,点评打响了

Github官方app分析——用户身份验证模块

这篇文章记述的是我对Giuhub官方app的用户身份验证模块的分析. Giuhub的官方app虽然是一个非常小众的程序,但是从程序的设计的角度看,这是一个非常优秀的项目.对于其用户身份验证模块,给我留下的印象更是非常深刻.如果你对此有兴趣,请移步到我的blog,地址如下: 地址: http://kohoh1992.github.io/GithubAppAccountAuthenticatorAnalysis/ 哦,对了.忘记补充了,这里的文章全部都是我个人blog上的副本.如果你对我的blog有

内核通信之Netlink源码分析-用户内核通信原理3

2017-07-06 上节主讲了用户层通过netlink和内核交互的详细过程,本节分析下用户层接收数据的过程-- 有了之前基础知识的介绍,用户层接收数据只涉及到一个核心调用readmsg(), 其他的就不多介绍了,不太明白的请参考之前的文章,我们还是重点看下内核究竟在背后做了什么!该函数在内核对应于read_msg系统调用 SYSCALL_DEFINE3(recvmsg, int, fd, struct msghdr __user *, msg, unsigned int, flags) { i

分析用户的访问偏好

本文主要介绍了在Hadoop平台下统计分析Web用户的访问偏好,项目流程如下图所示: 数据采集 项目流程中,提取用户访问页面的URL和URL对应的正文内容,由本人在公司参与一起开发的爬虫系统爬取相应门户网站(新浪)上的数据.爬虫核心代码见我的另一篇文章:httpclient使用详解(爬虫) 爬虫的框架使用的是java多线程开发,由于数据时效性不是很强,所以并没有采用分布式爬取,其实对于我个人来讲,这个框架的运营原理和分布式是一样的.框架主要思想如下: 1.爬虫主线程负责将用户访问页面的url抓取

NAS日志分析用户指南

摘要: NAS"日志分析"新功能,旨在帮助用户更好地监控文件系统资源.通过该功能,用户可以方便地跟踪系统性能问题,记录文件系统上的数据操作情况,审计文件删除等相关操作,有效监控各区域内文件系统资源大盘和明细信息,实时报警等 NAS文件存储是阿里云提供给用户的云上高性能文件系统存储服务.数据安全和性能是用户对文件存储服务最关注的两大因素,经常有用户反映以下这些情况: - 我想查看自己的文件存储服务性能指标(吞吐,iops等等) - 我想了解自己的文件系统内数据操作分布(读.写.新建.删除

统计和分析系统性能【IO CPU 内存】的工具集合

blktrace http://www.oschina.net/p/blktrace 获取磁盘写入的信息 [email protected]:~/install/percona-toolkit-2.2.1# debugfs -R 'stats' /dev/sda1 debugfs 1.41.11 (14-Mar-2010) debugfs -R 'stats' /dev/sda1|grep Block debugfs 1.41.11 (14-Mar-2010) Block count: