Flurry 集成开发

1,065 阅读2分钟

这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战

简介

自 2008 年推出全球首个 iOS 和 Android 应用分析平台以来,Flurry 一直走在移动应用行业的前沿。从那时起,全球移动应用开发者都依赖 Flurry Analytics 来解锁受众数据、使用行为和货币化机会。Flurry 每月访问超过 20 亿个移动设备,传输超过 2500 亿个会话,对消费者行为有着无与伦比的洞察力。这些数据转化为应用程序开发商的收入和增长加速、消费者移动体验的改善,以及广告商和品牌的一流广告机会,以吸引参与的移动受众。

Flurry 的全面扩展、久经沙场的后端每天处理数 TB 的数据。我们世界一流的摄取、指标和报告引擎与世界上最大的应用程序保持同步

背景

项目中有对功能呢埋点分析的需求,由于这个项目只在外国使用,且考虑到国外和国内的使用区别以及Goole Play审核风险, 就没用国内的友盟作为app的统计平台,总和各方面考虑使用了Flurry

创建key

进入Flurry 官网进行注册登录,在设置→apps中创建项目,如下图 image.png

根据提示填写应用名称包名等信息, 然后保存生成的key

导入依赖

build.gradle导入所需jar包

implementation 'com.flurry.android:analytics:13.1.0@aar'

使用

  • ApplicationonCreate方法中进行初始化
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())
)