Android对Firebase崩溃日志和埋点分析的集成

语言: CN / TW / HK

开启掘金成长之旅!这是我参与「掘金日新计划 · 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崩溃日志数据统计界面

Crashlytics界面 Analytics埋点数据统计界面

Analytics界面

总结

最后再谈谈崩溃日志收集和埋点统计。在Android应用开发中,崩溃是用户比较反感的。所以我们开发app要尽可能地降低崩溃率,这个需要经验的积累和对项目代码付出的时间积累。无论是Android还是iOS应用,崩溃率低于0.1%就达到优秀的级别了。架构和代码管理对崩溃率的影响也是很大的,代码要尽可能做到整洁。不多一行代码,不少一行代码,每行代码都要用到实处,这是我写代码的原则。暂时用不到的注释直接干掉,不要有弃之可惜的感觉。最后自动化测试后再加上手动回归测试也是很重要的。再说说埋点,埋点主要是给产品看的,产品运营产品就需要基于埋点数据生成的事实用户行为统计的图表。通过埋点的自定义事件的统计,实时掌握用户的偏好,有利于给予用户更好的用户体验。