这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战
简介
自 2008 年推出全球首个 iOS 和 Android 应用分析平台以来,Flurry 一直走在移动应用行业的前沿。从那时起,全球移动应用开发者都依赖 Flurry Analytics 来解锁受众数据、使用行为和货币化机会。Flurry 每月访问超过 20 亿个移动设备,传输超过 2500 亿个会话,对消费者行为有着无与伦比的洞察力。这些数据转化为应用程序开发商的收入和增长加速、消费者移动体验的改善,以及广告商和品牌的一流广告机会,以吸引参与的移动受众。
Flurry 的全面扩展、久经沙场的后端每天处理数 TB 的数据。我们世界一流的摄取、指标和报告引擎与世界上最大的应用程序保持同步
背景
项目中有对功能呢埋点分析的需求,由于这个项目只在外国使用,且考虑到国外和国内的使用区别以及Goole Play审核风险, 就没用国内的友盟作为app的统计平台,总和各方面考虑使用了Flurry
创建key
进入Flurry 官网进行注册登录,在设置→apps中创建项目,如下图
根据提示填写应用名称包名等信息, 然后保存生成的key
导入依赖
在build.gradle
导入所需jar包
implementation 'com.flurry.android:analytics:13.1.0@aar'
使用
- 在
Application
的onCreate
方法中进行初始化
private fun initFlurry() {
FlurryAgent.Builder()
.withLogEnabled(BuildConfig.DEBUG)
.withLogLevel(Log.VERBOSE)
.withCaptureUncaughtExceptions(BuildConfig.DEBUG)
.build(
this,
if (BuildConfig.DEBUG) AnalyticsConstants.FLURRY_TEST_KEY else AnalyticsConstants.FLURRY_OFFICIAL_KEY
)
}
- 在
BaseActivity
或者BaseFragment
中封装公共方法
/**
* 上报埋点数据
*
* @param event
* @param eventParams
*/
open fun analysisReport(event: String?, vararg eventParams: EventParam?) {
//Flurry上报
val articleParams: MutableMap<String, String> = HashMap()
//添加公共参数
//param keys and values have to be of String type
for (eventParam in eventParams) {
articleParams[eventParam!!.key] = eventParam.value
}
//up to 10 params can be logged with each event
FlurryAgent.logEvent(event!!, articleParams)
}
- 在所需功能位置调用
analysisReport(AnalyticsConstants.EVENT_SHARE_EMAIL,
EventParam(AnalyticsConstants.PARAM_DATA_ID,resultInfo.APPSDataID),
EventParam(AnalyticsConstants.PARAM_DATA_RESULT,resultInfo.Result),
EventParam(AnalyticsConstants.PARAM_IS_ADMIN, isAdmin.toString())
)