快手、孩子王、华为等专家分享大模型在电商运营、母婴消费、翻译等行业场景的实际应用 了解详情
写点什么

使用 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:5121860
用户头像

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

关注

评论

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

区块链挖矿系统开发功能方案

智慧公安防控管理平台搭建,重点人员管控系统解决方案

t13823115967

智慧公安

《数据挖掘:实用的机器学习工具和技术,第4版》PDF版免费下载

计算机与AI

数据挖掘 机器学习 数据科学

数仓缓慢变化维深层讲解

大数据老哥

大数据 数据仓库 数仓

7 天开发后台系统技术小结

老魚

程序员 全栈 建站

Python的GIL

yunson

Python GIL

数字货币交易所开发的功能与特点

漫画 | 带你领略前端发展史的江湖恩怨情仇

苏南

程序员 大前端 漫画 时代发展

纵观 ActiveX 平台的兴衰史,看开发控件的技术演变

葡萄城技术团队

SpreadJS activex

RocketMQ消息模型

废材姑娘

Java RocketMQ

mysql binlog轻量同步工具binlog portal

dothetrick

Java MySQL springboot Binlog spring Boot Starter

区块链app开发要多少钱?如何根据项目需求了解价格?

区块链数字货币交易所开发的简介

2020年11期券商App行情刷新及交易体验评测报告

博睿数据

APM 数据 AIOPS 证券

程序员修炼之路:你该知道的 7 个必经阶段

阿里巴巴云原生

阿里云 程序员 云原生 自我思考 成长笔记

这道面试题,出错率90%

田维常

面试

Ubuntu 使用 Iptables 做网络转发

wong

iptables Ubuntu20.04

币币交易所系统开发详情说明

我参与阿里巴巴 ASoC-Seata 的一些感悟

阿里巴巴云原生

阿里云 开发者 云原生 感悟 seata

国外低代码平台趟过那些坑,对国内低代码企业有哪些启示?

DT极客

智慧社区管理平台建设,智慧平安小区整体解决方案

t13823115967

智慧社区安防系统平台开发

甲方日常 79

句子

工作 随笔杂谈 日常

大作业1

蓝黑

区块链商城系统开发技术详解

对冲基金的子基金模式vs集中管理

9527

有没有听说过通达快递?

escray

极客时间 极客大学 课程作业 大作业 架构师训练营第 1 期

区块链钱包开发的核心优势

区块链钱包开发的功能与特点

千里公路建设尽收眼底,3D可视化监测管养运,领导都惊呆了

一只数据鲸鱼

物联网 数据可视化 3D可视化 公路建设 智慧交通

Flink SQL 实战:双流 join 场景应用

Apache Flink

flink 流计算

LINUX SHELL脚本攻略

田维常

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