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%就達到優秀的級別了。架構和代碼管理對崩潰率的影響也是很大的,代碼要儘可能做到整潔。不多一行代碼,不少一行代碼,每行代碼都要用到實處,這是我寫代碼的原則。暫時用不到的註釋直接幹掉,不要有棄之可惜的感覺。最後自動化測試後再加上手動迴歸測試也是很重要的。再説説埋點,埋點主要是給產品看的,產品運營產品就需要基於埋點數據生成的事實用户行為統計的圖表。通過埋點的自定義事件的統計,實時掌握用户的偏好,有利於給予用户更好的用户體驗。