QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

使用 Flurry 来统计和分析用户行为

  • 2013-11-13
  • 本文字数:2236 字

    阅读完需:约 7 分钟

简介

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

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

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

查看统计结果

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

统计 Crashlog

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

[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 万应用使用 Flurry 1 ,有超过 18 万应用使用友盟 2
  2. Flurry 是国外的公司,保持独立和专注,数据安全性更高;友盟现在已经被阿里收购,当用户的应用涉及领域和阿里有类似或重合的时候,那么该统计数据有潜在的安全性问题。

Flurry 的缺点是:

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

总结

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

2013-11-13 00:5121990
用户头像

发布了 65 篇内容, 共 56.3 次阅读, 收获喜欢 23 次。

关注

评论

发布
暂无评论
发现更多内容

学而思和猿辅导哪个好

妙龙

学习机 学而思

科大讯飞和学而思哪个好用

妙龙

科大讯飞 学习机 学而思 学而思学习机

科大讯飞翻译机4.0星火版 怎么样

妙龙

科大讯飞 翻译机

专有云 ABC Stack 推出生态网关,让专有硬件快速上云一个都不能少

Baidu AICLOUD

网关 专有云

去哪儿KAFKA性能优化-如何节省2000核CPU?

Qunar技术沙龙

性能优化 后端

学而思怎么样效果好不好 学而思哪科是强项

妙龙

学习机 学而思

小猿学练机和学而思学习机哪个好

妙龙

学习机 学而思 小猿学练机

案例分析"assertion failed"

TiDB 社区干货传送门

商业化大前端在性能优化领域的探索与实践

快手技术

性能优化 大前端 快手

新东方 x TiDB丨从 v1.0 到最新版,选择和升级 TiDB 的全面考量

TiDB 社区干货传送门

TiDB 集群 PD 组件免授权访问解决方案

TiDB 社区干货传送门

实践案例 管理与运维 数据库连接

学而思二代精准学Pro和xPad有什么区别

妙龙

学习机 学而思

喜报!华夏银行联合乘云数字获评 "中国信通院可观测性实践典型案例"

乘云数字DataBuff

可观测性 智能运维

开放可控的企业级大数据平台建设大揭秘

袋鼠云数栈

科大讯飞翻译机4.0星火版和科大讯飞双屏翻译机区别

妙龙

科大讯飞 翻译机

【12 月 28 日·上海站】TiDB 社区活动走进哔哩哔哩:一起聊聊国产数据库替换下新的使用方式,一套 TiDB 简化技术栈 & 承载企业多业务架构难题!参会还能赢取超级可爱的 B 站周边哟!

TiDB 社区干货传送门

安能物流 All in TiDB 背后的故事与成果

TiDB 社区干货传送门

实践案例 数据库架构选型

如何平衡向量检索速度和精度?深度解读HNSW算法

Zilliz

向量检索 KNN算法 HNSW

乡村振兴积分系统(源码+文档+部署+讲解)

深圳亥时科技

学而思学习机经典款和旗舰款区别

妙龙

学习机 学而思

防止漏洞扫描之保护 tidb 10080 端口

TiDB 社区干货传送门

实践案例

TiDB数据库placement-rules使用指南

TiDB 社区干货传送门

集群管理 管理与运维 新版本/特性发布 新版本/特性解读 7.x 实践

学而思学习机和小猿学练机的区别

妙龙

学习机 学而思 小猿学练机

2024升级版反向海淘代购系统:解锁全球购物新体验

代码忍者

反向海淘代购系统

学而思精准学Pro一代和二代有什么区别

妙龙

学习机 学而思

TiDB 字符集原理和最佳实践

TiDB 社区干货传送门

VMware ESXi 7.0 U3r 发布 - 领先的裸机 Hypervisor

sysin

esxi

科大讯飞翻译机4.0和科大讯飞翻译机4.0星火版区别

妙龙

科大讯飞 翻译机

作业帮T30和T35有什么区别

妙龙

作业帮 学习机

drainer同步到tidb延迟问题记录

TiDB 社区干货传送门

集群管理 管理与运维 故障排查/诊断

关于 tiup 在线源切换处理

TiDB 社区干货传送门

集群管理 管理与运维 7.x 实践

使用Flurry来统计和分析用户行为_语言 & 开发_唐巧_InfoQ精选文章