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

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

关注

评论

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

第七周作业

lv

ReactNative进阶(三十):Component、PureComponent 解析

No Silver Bullet

​React Native 1月月更 Component

冬奥探秘:那些隐匿在冬奥中的“绿科技”

脑极体

构建多架构镜像的最佳实践

xcbeyond

Docker arm docker image xcbeyond 1月月更

ShardingSphere JDBC 分库实现多数据库源

Java 数据库 分库分表 Apache ShardingSphere

灵活管理客户、营销与流程的房地产解决方案

明道云

Linux之cal命令

入门小站

在线XML转CSV工具

入门小站

工具

Go len() 函数是如何计算长度的?

宇宙之一粟

Go Go 语言 1月月更

电商秒杀系统架构设计

AHUI

「架构实战营」

微信业务架构分析 & 学生管理系统架构选型

AragornYang

架构训练营 架构实战营

模块六作业-拆分电商系统为微服务

曾竞超

「架构实战营」

ReactNative进阶(二十八):ES6 Symbol 用法

No Silver Bullet

React Native symbol 1月月更

低代码实现探索(二十九)混合式低代码

零道云-混合式低代码平台

《腾讯云原生在线技术工坊》实践体会

穿过生命散发芬芳

腾讯云 云原生 1月月更 实践体会

vue 作者在2022-2-7起宣布 vue3 正式作为默认版本

你?

【网络安全】干货|SQL注入攻击思路手法总结(上)

H

数据库 网络安全 SQL注入

微信业务架构

「架构实战营」

【网络安全】详细记录一道简单面试题的思路和方法

H

网络安全

(1-19/19)市场和销售分别该怎么干

mtfelix

300天创作 2022Y300P

关于jiami货币--《香帅中国财富报告》摘录(6/100)

hackstoic

投资

边缘化需求,闪电式切入

明道云

PDF 文件如何转成 markdown 格式

汪子熙

markdown PDF pdf.js 1月日更 1月月更

22 Prometheus之Docker监控简述

穿过生命散发芬芳

Prometheus 1月月更

(1-18/18)推播式营销vs.集客式营销

mtfelix

300天创作 2022Y300P

测试工程师的职场发展二三谈

老张

自动化测试 解决方案 职场发展

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」系统服务底层原理以及高性能存储设计分析

码界西柚

RocketMQ 阿里巴巴‘ Alibaba技术 Apache RocketMQ 1月日更

JavaScript 基本数据类型转换

编程三昧

JavaScript 前端 1月月更

kali权限提升之本地提权

喀拉峻

网络安全 信息安全 提权

大白话讲解JDK源码系列:从头到尾再讲一遍ThreadLocal

慕枫技术笔记

后端 1月月更

架构实战训练营第一周

刘帅

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