產品若已經穩定,就可有空閒時間來優化它!Google旗下的Firebase Performance,就成了我們嘗試的目標。
其實早在我進公司第一週,我在把玩公司App時,就發現載入卡片這個產品好慢,實際去追程式碼,發現下載資源檔進行了兩次一模一樣的API呼叫,當時就有跟老闆反應。現在終於可讓上萬人一起來累計數據,再拿給老闆看更有說服力,到時候著手優化此過程,我要來邀功囉~🤡
原本專案就已經有整合Firebase Crashlytics,於是就如此簡單就加入Firebase Performance,執行某行程回傳數據,約莫一天的等待後,數據真的就出現在Firebase後台,真是令人振奮!

簡介
Firebase Performance能讓你獲得App中各種效能數據,在後台將會統計與分析,提供多面向比較數據,幫助你優化App效能。

關鍵功能
- 自動衡量App開啟載入時間、網路請求回應時間,甚至更多
- 獲得清晰的數據統計分析,明瞭App效能如何提升
- 客製化監控你的App
如何運作?
當你加入Performance Monitoring SDK,Firebase會自動開始在你的App搜集某些普遍流程的數據,例如:
- App start up time for iOS and Android apps
- Screen rendering for iOS and Android apps
- Page loading for web apps
- Network requests for all types of apps
Debug Log
這是我測試我們家App的數據:
App開啟後載入的時間
6.33.0 – [Firebase/Performance][I-PRF100009] Logging trace metric – _as 20276.0650ms

網路請求回應時間
6.33.0 – [Firebase/Performance][I-PRF100009] Logging network request trace – https://happystudio.com/images/accessory/info/flatbag/flatbag_p@2x.png, Response code: 200, 17.2980ms
為何我們需要?好處?
產品穩定後,可持續優化效能、使用體驗,包含:
- App開啟到載入時間。目前觀察到我們家App需要10-20秒
- 頁面繪製過程時間。
- 網路請求回應時間。例如:https://cg2010studio.com/
- 客製功能執行時間,不限於如下:
- 作品建立時間。需要取回資源檔,部分產品需要時間長。
- 縮圖繪製時間。與頁數、圖框數、文框數呈正相關。

如何加入?
iOS使用Cocoapods加入:
pod ‘Firebase/Performance’
App執行啟動執行:
@import FirebasePerformance;
[FIRApp configure];
自動搜集數據:不需要寫任何程式碼
客製搜集數據:可寫特定狀況程式碼
約需要24小時,便能在後台見到數據紀錄。
觀察指標
我們可以透過數據統計分析,了解時間瓶頸所在。指標:
- 應用程式版本
- 國家/地區
- 作業系統版本
- 裝置
- 無線電
- 行動電信業者
- 自訂,例如:產品
透過以上指標篩選,更能了解問題關鍵所在!
下圖為App啟動時間,可見規格越好,時間越短!
最後來欣賞一下,Firebase Performance收集數據後,可呈現多麽一目瞭然的圖表,特別以公司產品來做試驗,繪製一整本書需耗費多少時間。
時間軸由左至右,行為順序:
- 下載資源檔
- 繪製縮圖
參考:Firebase Performance Monitoring。
Comments on: "[iOS] Firebase Performance" (3)
[…] Firebase Performance […]
讚讚
我公司產品也有想導入
感覺很不錯!
讚Liked by 1 person
讚喔~你們是做什麼樣的產品呢?需要觀察App效能?
讚讚