穩定性和性能是每個應用成功的關鍵,在如今充滿競爭的應用市場中,第一印象對應用用戶而言尤為重要。而在這樣的大環境下,無論您是為 Android 還是 iOS 開發應用或者游戲,無論您使用 Flutter 構建,還是開發 Unity 游戲,Firebase Crashlytics 都會助您一臂之力。
在過去幾個月中,Firebase Crashlytics 團隊投入了大量精力來研究如何更便捷地洞悉您應用的崩潰情況和穩定性。在接下來的內容中,我們將為您詳解近期針對 Crashlytics 所做的更新。
針對 Flutter 應用優化的崩潰報告
應用發布者需要一套全方位的工具套件來構建、發布和運營應用。Firebase 針對上述的每個階段都提供了對應的跨平臺產品和服務,而 Flutter 支持使用一套代碼庫開發跨平臺界面。所以很自然 Firebase 的跨平臺服務就成為 Flutter 跨平臺界面框架的補充。我們正專注于使它們的結合能展現出更好的效果,包括作出重大改進以確保 Firebase Crashlytics 支持 Flutter 應用。
Flutter
https://flutter.cn/
首先,我們更新了 Crashlytics Flutter 插件,以便您可以根據需要鎖定嚴重錯誤 (fatal error),為您提供與原生 iOS 和 Android 開發者相同的一系列功能。這包括重要的警報和指標,例如 "無崩潰用戶" 可幫助您掌握應用的穩定性情況。以下示例代碼片段展示了自動捕獲 Flutter 框架內所拋出的所有錯誤:
void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); // 將未捕捉的錯誤從框架傳遞給 Crashlytics FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError; runApp(MyApp()); }
我們還改進了后端分析,現在您的 Flutter 崩潰可以更直觀地按常見的潛在特征進行分組,從而讓您更快地對問題進行分類并排列優先級,以修復問題。最后,我們精簡了插件配置過程,您不再需要打開任何特定平臺的 IDE。現只需三個步驟即可開始使用 Crashlytics 和 Flutter!
三個步驟
https://firebase.google.cn/docs/crashlytics/get-started?platform=flutter
要利用所有這些更新,請確保您使用的是最新版本的 Crashlytics Flutter 插件。如果您希望了解更多內容,請參閱文檔Firebase Crashlytics 使用入門: https://firebase.google.cn/docs/crashlytics/get-started?platform=flutter
借助 Android Studio 中 Firebase Crashlytics 的數據分析提高開發者的工作效率
即使有詳細的實時崩潰報告,開發者在問題排查時通常需要在 Crashlytics 信息中心和 IDE 之間切換以定位錯誤并進行調試。我們知道這樣的反復切換有時著實讓人頭疼,因為在瀏覽器中查看堆棧追蹤然后再切換到代碼中,并尋找合適的位置設置斷點,整個過程非常繁瑣。所以我們在 Android Studio 中構建了新的 App Quality Insights 窗口。您現在可以在本地 Android Studio 項目的上下文中查看 Crashlytics 報告,從而更輕松地發現、調查和重現問題。新工具還能高亮顯示出現在崩潰報告中的有問題的代碼行,以便您在處理代碼時解決問題。
如果您已經在應用中添加了 Firebase 和 Crashlytics,請在 Android Studio 中點擊右上方的頭像圖標登錄您的開發者帳號。登錄后,點擊 "App Quality Insights" 工具窗口。您會看到 "Issues"、"Sample Stack Trace" 以及顯示 Crashlytics 報告的 "Details" 面板。如果您碰到任何問題或有任何反饋,歡迎隨時提交 bug 報告:
https://issuetracker.google.com/issues/new?component=192708&template=840533
如果您尚未在應用中使用 Crashlytics,請參閱文檔Firebase Crashlytics 使用入門:
https://firebase.google.cn/docs/crashlytics/get-started?platform=flutter
通過 Google Play 軌道過濾崩潰
您現在可以直接在 Crashlytics 信息中心通過 Google Play 軌道過濾應用的崩潰報告。此過濾功能使您可以更好地讓信息中心專注于應用版本特定階段的構建上。
Crashlytics 信息中心
https://firebase.google.cn/docs/crashlytics/get-deobfuscated-reports?platform=ios
Google Play 軌道
https://developers.google.cn/android-publisher/tracks
△ 在 Crashlytics 信息中心里如何按照 Google Play Track 進行過濾
首先,您需要做的是將 Firebase Android 應用關聯到您的 Google Play 開發者帳號:
https://firebase.google.cn/docs/crashlytics/integrate-with-google-play
手動上傳 dSYM 文件
△ Crashlytics 信息中心內 dSYM 文件拖放新功能
我們從 iOS 開發者那里得知一個痛點:上傳 dSYMs 比較麻煩。我們想簡化該過程。現在 iOS 開發者可以使用 Firebase 控制臺的 "Drag and Drop" 選項手動上傳包含 dSYM 文件的 Zip 存檔。
如需了解更多內容,請在 Firebase 控制臺訪問 Crashlytics dSYMs 標簽,歡迎開發者親自嘗試拖放功能。
dSYMs 標簽
https://console.firebase.google.com/project/_/crashlytics
IL2CPP 與 Unity 崩潰處理
我們改進了 Unity 崩潰處理過程。讓我們分別通過 Android 和 iOS 逐一詳解:
Android
您可以在這里查看嚴重崩潰報告。當開發者使用 Crashlytics Unity SDK 8.6.1+,堆棧軌跡看起來更像 C# 堆棧追蹤,并且有一個更智能的分組策略,可以對 C# 代碼進行分組。通過在構建時上傳符號信息,開發者還可以在 Crashlytics 信息中心查看原生庫崩潰的符號化堆棧追蹤。如需了解更新信息,歡迎參閱 Crashlytics Unity 入門指南: https://firebase.google.cn/docs/crashlytics/get-started?platform=unity#set-up-symbol-uploading
iOS 崩潰數據會在 Firebase 控制臺中自動做可讀化轉換。除確保正在使用最新版 Unity 軟件包外,您無需再進行任何操作。
簡化入門流程
是否不太熟悉 Crashlytics?是否開啟了一個附帶項目并想要添加崩潰報告?或在為您的應用組合添加一個新平臺?
Crashlytics 工程師和開發者關系團隊一直以來都在幕后努力簡化 Crashlytics 入門流程。請查看 Firebase Crashlytics 入門指南,了解簡化后的體驗。當您開始向 Crashlytics SDK 發送崩潰,您將會在 Crashlytics 信息中心看見這些事件。
Firebase Crashlytics 入門指南
https://firebase.google.cn/docs/crashlytics/get-started
我們還擴展了測試您的 Crashlytics 實施指南來幫助排查困難的配置問題: https://firebase.google.cn/docs/crashlytics/test-implementation
總結
我們已經介紹了許多新功能。總結一下,Crashlytics 現在擁有:
Flutter 官方支持
在 Android Studio 中的 "Insights" 窗口
與 Google Play 的集成
dSYMs 拖放工具
優化后的 Unity 崩潰報告
簡化的入門流程
敬請期待我們的更多改進!
-
iOS
+關注
關注
8文章
3399瀏覽量
152114 -
插件
+關注
關注
0文章
339瀏覽量
22862 -
開發者
+關注
關注
1文章
607瀏覽量
17275
原文標題:Firebase Crashlytics 近期更新 | 在 Flutter 和 Android Studio 中更好地調試應用
文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
鴻蒙Flutter實戰:07混合開發
鴻蒙Flutter實戰:08-如何調試代碼
鴻蒙Flutter實戰:09-現有Flutter項目支持鴻蒙
鴻蒙Flutter實戰:11-使用 Flutter SDK 3.22.0
鴻蒙Flutter實戰:14-現有Flutter 項目支持鴻蒙 II
深入理解flutter的編譯原理與優化
關于labview崩潰報告器
與 Flutter 共創未來 | Flutter Forward 活動精彩回顧
社區說 | 精益求精: Flutter 技巧專題篇

【今晚開播】社區說 | 精益求精: Flutter 技巧專題篇

Flutter應用代碼混淆優化防護的常見問題與解決方案
淺談兼容 OpenHarmony 的 Flutter

評論