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登入也是它。谷歌登入的整合請看這篇文章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崩潰日誌資料統計介面

Crashlytics介面 Analytics埋點資料統計介面

Analytics介面

總結

最後再談談崩潰日誌收集和埋點統計。在Android應用開發中,崩潰是使用者比較反感的。所以我們開發app要儘可能地降低崩潰率,這個需要經驗的積累和對專案程式碼付出的時間積累。無論是Android還是iOS應用,崩潰率低於0.1%就達到優秀的級別了。架構和程式碼管理對崩潰率的影響也是很大的,程式碼要儘可能做到整潔。不多一行程式碼,不少一行程式碼,每行程式碼都要用到實處,這是我寫程式碼的原則。暫時用不到的註釋直接幹掉,不要有棄之可惜的感覺。最後自動化測試後再加上手動迴歸測試也是很重要的。再說說埋點,埋點主要是給產品看的,產品運營產品就需要基於埋點資料生成的事實使用者行為統計的圖表。通過埋點的自定義事件的統計,實時掌握使用者的偏好,有利於給予使用者更好的使用者體驗。