Android对Firebase崩溃日志和埋点分析的集成
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 4 天,点击查看活动详情
Google的Firebase是一个很好的崩溃日志(Crashlytics)和埋点信息(Analytics)收集的平台。崩溃日志和埋点分析都是一个好项目不可或缺的。崩溃日志用于提升app的稳定性,而埋点分析用于运营。相关竞品还有Bugly、友盟、蒲公英等,个人感觉使用Google的Firebase全家桶更稳定可靠。某云使用的是集团内部的魔兔崩溃收集和自定义埋点统计框架,如果你们公司没有这个条件,使用Firebase也是不错的选择。
在Firebase管理后台创建项目
首先你需要在Firebase管理后台添加一个项目,目的是为了拿到属于该项目的google-services.json文件,并放置到app模块的根目录下。这个google-services.json是集成Google服务通用的,集成Google登录也是它。谷歌登录的集成请看这篇文章http://juejin.cn/post/7183633464069980216 。 填写项目的名称。 简单看一下Google Analytics的介绍,点击继续。 选择默认账号即可。 然后点击创建项目,于是就这么傻瓜式地完成了。 然后点击项目概览,点击安卓的图标,添加一个安卓应用。
keytool -list -v -alias <你的key的名称> -keystore
<>中的内容根据自身环境进行替换,并将SHA1指纹信息填入,然后下载google-services.json文件。
配置项目
我这里就不单独出集成的教程了,一般这两个都是要一起集成的。
第一步,在项目根目录的settings.gradle添加,旧版本使用的是classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2',我这里一律用新版本gradle的配置。
groovy
pluginManagement {
resolutionStrategy {
eachPlugin {
if (requested.id.namespace == 'com.google.firebase') {
useModule('com.google.firebase:firebase-crashlytics-gradle:2.9.2')
}
}
}
}
第二步,在项目根目录的build.gradle添加gradle插件的classpath。
groovy
plugins {
id 'com.google.gms.google-services' version '4.3.15' apply false
}
第三步,在app模块的build.gradle模块apply插件和依赖相关库,旧版本gradle可能会有些许不一样。
```groovy
plugins {
id 'com.google.gms.google-services'
id 'com.google.firebase.crashlytics'
}
dependencies { implementation platform('com.google.firebase:firebase-bom:31.2.0') implementation 'com.google.firebase:firebase-crashlytics-ktx' implementation 'com.google.firebase:firebase-analytics-ktx' implementation 'com.google.firebase:firebase-config-ktx' implementation 'com.google.firebase:firebase-analytics-ktx' } ```
Analytics埋点分析配置
kotlin
val remoteConfig: FirebaseRemoteConfig = Firebase.remoteConfig
val configSettings = remoteConfigSettings {
minimumFetchIntervalInSeconds = 3600
}
remoteConfig.setConfigSettingsAsync(configSettings)
集成成功界面
Crashlytics崩溃日志数据统计界面
Analytics埋点数据统计界面
总结
最后再谈谈崩溃日志收集和埋点统计。在Android应用开发中,崩溃是用户比较反感的。所以我们开发app要尽可能地降低崩溃率,这个需要经验的积累和对项目代码付出的时间积累。无论是Android还是iOS应用,崩溃率低于0.1%就达到优秀的级别了。架构和代码管理对崩溃率的影响也是很大的,代码要尽可能做到整洁。不多一行代码,不少一行代码,每行代码都要用到实处,这是我写代码的原则。暂时用不到的注释直接干掉,不要有弃之可惜的感觉。最后自动化测试后再加上手动回归测试也是很重要的。再说说埋点,埋点主要是给产品看的,产品运营产品就需要基于埋点数据生成的事实用户行为统计的图表。通过埋点的自定义事件的统计,实时掌握用户的偏好,有利于给予用户更好的用户体验。
- Android性能优化之内存优化
- 区块链到底能不能落地,去中心化有没有必要
- Flutter开发 - 使用GetX框架实现类似MVVM架构
- Android电量优化,让你的手机续航更持久
- Android对Firebase崩溃日志和埋点分析的集成
- Android代码实现新年贺卡动画
- Android应用添加谷歌登录(Google Sign In)
- Android自定义View - DoraEmptyLayout
- 全新升级的AOP框架Dora.Interception[6]: 框架设计和实现原理
- 如何高效读写百万级的Excel?
- 红人姜Dora:从双非二本到顶级互联网大厂,一个普通人的升级打怪之路
- 头等仓:深度解析波卡生态 DAO 基础设施 Dora Factory
- 6年,12dora终渡B劫
- 6年,12dora终渡B劫