Android對Firebase崩潰日誌和埋點分析的集成
開啟掘金成長之旅!這是我參與「掘金日新計劃 · 2 月更文挑戰」的第 4 天,點擊查看活動詳情
Google的Firebase是一個很好的崩潰日誌(Crashlytics)和埋點信息(Analytics)收集的平台。崩潰日誌和埋點分析都是一個好項目不可或缺的。崩潰日誌用於提升app的穩定性,而埋點分析用於運營。相關競品還有Bugly、友盟、蒲公英等,個人感覺使用Google的Firebase全家桶更穩定可靠。某雲使用的是集團內部的魔兔崩潰收集和自定義埋點統計框架,如果你們公司沒有這個條件,使用Firebase也是不錯的選擇。
在Firebase管理後台創建項目
首先你需要在Firebase管理後台添加一個項目,目的是為了拿到屬於該項目的google-services.json文件,並放置到app模塊的根目錄下。這個google-services.json是集成Google服務通用的,集成Google登錄也是它。谷歌登錄的集成請看這篇文章https://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劫