RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

針對(duì) Flutter應(yīng)用優(yōu)化的崩潰報(bào)告分析

谷歌開發(fā)者 ? 來源:谷歌開發(fā)者 ? 作者:谷歌開發(fā)者 ? 2022-08-31 16:42 ? 次閱讀

穩(wěn)定性和性能是每個(gè)應(yīng)用成功的關(guān)鍵,在如今充滿競爭的應(yīng)用市場中,第一印象對(duì)應(yīng)用用戶而言尤為重要。而在這樣的大環(huán)境下,無論您是為 Android 還是 iOS 開發(fā)應(yīng)用或者游戲,無論您使用 Flutter 構(gòu)建,還是開發(fā) Unity 游戲,F(xiàn)irebase Crashlytics 都會(huì)助您一臂之力。

在過去幾個(gè)月中,F(xiàn)irebase Crashlytics 團(tuán)隊(duì)投入了大量精力來研究如何更便捷地洞悉您應(yīng)用的崩潰情況和穩(wěn)定性。在接下來的內(nèi)容中,我們將為您詳解近期針對(duì) Crashlytics 所做的更新。

針對(duì) Flutter 應(yīng)用優(yōu)化的崩潰報(bào)告

應(yīng)用發(fā)布者需要一套全方位的工具套件來構(gòu)建、發(fā)布和運(yùn)營應(yīng)用。Firebase 針對(duì)上述的每個(gè)階段都提供了對(duì)應(yīng)的跨平臺(tái)產(chǎn)品和服務(wù),而 Flutter 支持使用一套代碼庫開發(fā)跨平臺(tái)界面。所以很自然 Firebase 的跨平臺(tái)服務(wù)就成為 Flutter 跨平臺(tái)界面框架的補(bǔ)充。我們正專注于使它們的結(jié)合能展現(xiàn)出更好的效果,包括作出重大改進(jìn)以確保 Firebase Crashlytics 支持 Flutter 應(yīng)用。

Flutter
https://flutter.cn/

首先,我們更新了 Crashlytics Flutter 插件,以便您可以根據(jù)需要鎖定嚴(yán)重錯(cuò)誤 (fatal error),為您提供與原生 iOS 和 Android 開發(fā)者相同的一系列功能。這包括重要的警報(bào)和指標(biāo),例如 "無崩潰用戶" 可幫助您掌握應(yīng)用的穩(wěn)定性情況。以下示例代碼片段展示了自動(dòng)捕獲 Flutter 框架內(nèi)所拋出的所有錯(cuò)誤:

 void main() async {
    WidgetsFlutterBinding.ensureInitialized();
    await Firebase.initializeApp();
    // 將未捕捉的錯(cuò)誤從框架傳遞給 Crashlytics
    FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;
    runApp(MyApp());
  }

我們還改進(jìn)了后端分析,現(xiàn)在您的 Flutter 崩潰可以更直觀地按常見的潛在特征進(jìn)行分組,從而讓您更快地對(duì)問題進(jìn)行分類并排列優(yōu)先級(jí),以修復(fù)問題。最后,我們精簡了插件配置過程,您不再需要打開任何特定平臺(tái)的 IDE?,F(xiàn)只需三個(gè)步驟即可開始使用 Crashlytics 和 Flutter!

三個(gè)步驟
https://firebase.google.cn/docs/crashlytics/get-started?platform=flutter

要利用所有這些更新,請(qǐng)確保您使用的是最新版本的 Crashlytics Flutter 插件。如果您希望了解更多內(nèi)容,請(qǐng)參閱文檔Firebase Crashlytics 使用入門: https://firebase.google.cn/docs/crashlytics/get-started?platform=flutter

借助 Android Studio 中 Firebase Crashlytics 的數(shù)據(jù)分析提高開發(fā)者的工作效率

即使有詳細(xì)的實(shí)時(shí)崩潰報(bào)告,開發(fā)者在問題排查時(shí)通常需要在 Crashlytics 信息中心和 IDE 之間切換以定位錯(cuò)誤并進(jìn)行調(diào)試。我們知道這樣的反復(fù)切換有時(shí)著實(shí)讓人頭疼,因?yàn)樵跒g覽器中查看堆棧追蹤然后再切換到代碼中,并尋找合適的位置設(shè)置斷點(diǎn),整個(gè)過程非常繁瑣。所以我們?cè)?Android Studio 中構(gòu)建了新的 App Quality Insights 窗口。您現(xiàn)在可以在本地 Android Studio 項(xiàng)目的上下文中查看 Crashlytics 報(bào)告,從而更輕松地發(fā)現(xiàn)、調(diào)查和重現(xiàn)問題。新工具還能高亮顯示出現(xiàn)在崩潰報(bào)告中的有問題的代碼行,以便您在處理代碼時(shí)解決問題。

如果您已經(jīng)在應(yīng)用中添加了 Firebase 和 Crashlytics,請(qǐng)?jiān)?Android Studio 中點(diǎn)擊右上方的頭像圖標(biāo)登錄您的開發(fā)者帳號(hào)。登錄后,點(diǎn)擊 "App Quality Insights" 工具窗口。您會(huì)看到 "Issues"、"Sample Stack Trace" 以及顯示 Crashlytics 報(bào)告的 "Details" 面板。如果您碰到任何問題或有任何反饋,歡迎隨時(shí)提交 bug 報(bào)告:

https://issuetracker.google.com/issues/new?component=192708&template=840533

如果您尚未在應(yīng)用中使用 Crashlytics,請(qǐng)參閱文檔Firebase Crashlytics 使用入門:

https://firebase.google.cn/docs/crashlytics/get-started?platform=flutter

通過 Google Play 軌道過濾崩潰

您現(xiàn)在可以直接在 Crashlytics 信息中心通過 Google Play 軌道過濾應(yīng)用的崩潰報(bào)告。此過濾功能使您可以更好地讓信息中心專注于應(yīng)用版本特定階段的構(gòu)建上。

Crashlytics 信息中心
https://firebase.google.cn/docs/crashlytics/get-deobfuscated-reports?platform=ios

Google Play 軌道
https://developers.google.cn/android-publisher/tracks

63b38072-2848-11ed-ba43-dac502259ad0.gif

△ 在 Crashlytics 信息中心里如何按照 Google Play Track 進(jìn)行過濾

首先,您需要做的是將 Firebase Android 應(yīng)用關(guān)聯(lián)到您的 Google Play 開發(fā)者帳號(hào):

https://firebase.google.cn/docs/crashlytics/integrate-with-google-play

手動(dòng)上傳 dSYM 文件

63fcb986-2848-11ed-ba43-dac502259ad0.png

△ Crashlytics 信息中心內(nèi) dSYM 文件拖放新功能

我們從 iOS 開發(fā)者那里得知一個(gè)痛點(diǎn):上傳 dSYMs 比較麻煩。我們想簡化該過程?,F(xiàn)在 iOS 開發(fā)者可以使用 Firebase 控制臺(tái)的 "Drag and Drop" 選項(xiàng)手動(dòng)上傳包含 dSYM 文件的 Zip 存檔。

如需了解更多內(nèi)容,請(qǐng)?jiān)?Firebase 控制臺(tái)訪問 Crashlytics dSYMs 標(biāo)簽,歡迎開發(fā)者親自嘗試拖放功能。

dSYMs 標(biāo)簽
https://console.firebase.google.com/project/_/crashlytics


IL2CPP 與 Unity 崩潰處理

我們改進(jìn)了 Unity 崩潰處理過程。讓我們分別通過 Android 和 iOS 逐一詳解:

Android

您可以在這里查看嚴(yán)重崩潰報(bào)告。當(dāng)開發(fā)者使用 Crashlytics Unity SDK 8.6.1+,堆棧軌跡看起來更像 C# 堆棧追蹤,并且有一個(gè)更智能的分組策略,可以對(duì) C# 代碼進(jìn)行分組。通過在構(gòu)建時(shí)上傳符號(hào)信息,開發(fā)者還可以在 Crashlytics 信息中心查看原生庫崩潰的符號(hào)化堆棧追蹤。如需了解更新信息,歡迎參閱 Crashlytics Unity 入門指南: https://firebase.google.cn/docs/crashlytics/get-started?platform=unity#set-up-symbol-uploading

iOS 崩潰數(shù)據(jù)會(huì)在 Firebase 控制臺(tái)中自動(dòng)做可讀化轉(zhuǎn)換。除確保正在使用最新版 Unity 軟件包外,您無需再進(jìn)行任何操作。

簡化入門流程

是否不太熟悉 Crashlytics?是否開啟了一個(gè)附帶項(xiàng)目并想要添加崩潰報(bào)告?或在為您的應(yīng)用組合添加一個(gè)新平臺(tái)?

Crashlytics 工程師和開發(fā)者關(guān)系團(tuán)隊(duì)一直以來都在幕后努力簡化 Crashlytics 入門流程。請(qǐng)查看 Firebase Crashlytics 入門指南,了解簡化后的體驗(yàn)。當(dāng)您開始向 Crashlytics SDK 發(fā)送崩潰,您將會(huì)在 Crashlytics 信息中心看見這些事件。

Firebase Crashlytics 入門指南
https://firebase.google.cn/docs/crashlytics/get-started

我們還擴(kuò)展了測試您的 Crashlytics 實(shí)施指南來幫助排查困難的配置問題: https://firebase.google.cn/docs/crashlytics/test-implementation

總結(jié)

我們已經(jīng)介紹了許多新功能??偨Y(jié)一下,Crashlytics 現(xiàn)在擁有:

Flutter 官方支持

在 Android Studio 中的 "Insights" 窗口

與 Google Play 的集成

dSYMs 拖放工具

優(yōu)化后的 Unity 崩潰報(bào)告

簡化的入門流程

敬請(qǐng)期待我們的更多改進(jìn)!

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • iOS
    iOS
    +關(guān)注

    關(guān)注

    8

    文章

    3395

    瀏覽量

    150564
  • 插件
    +關(guān)注

    關(guān)注

    0

    文章

    326

    瀏覽量

    22440
  • 開發(fā)者
    +關(guān)注

    關(guān)注

    1

    文章

    563

    瀏覽量

    17005

原文標(biāo)題:Firebase Crashlytics 近期更新 | 在 Flutter 和 Android Studio 中更好地調(diào)試應(yīng)用

文章出處:【微信號(hào):Google_Developers,微信公眾號(hào):谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙Flutter實(shí)戰(zhàn):07混合開發(fā)

    # 鴻蒙Flutter實(shí)戰(zhàn):混合開發(fā) 鴻蒙Flutter混合開發(fā)主要有兩種形式。 ## 1.基于har 將flutter module打包成har包,在原生鴻蒙項(xiàng)目中,以har包的方式引入
    發(fā)表于 10-23 16:00

    鴻蒙Flutter實(shí)戰(zhàn):08-如何調(diào)試代碼

    # 鴻蒙Flutter實(shí)戰(zhàn):如何調(diào)試代碼 ## 1.環(huán)境搭建 參考文章[鴻蒙Flutter實(shí)戰(zhàn):01-搭建開發(fā)環(huán)境](https://gitee.com/zacks
    發(fā)表于 10-23 16:29

    鴻蒙Flutter實(shí)戰(zhàn):09-現(xiàn)有Flutter項(xiàng)目支持鴻蒙

    /path_provider\" 編譯運(yùn)行 運(yùn)行 Flutter 項(xiàng)目,查看相關(guān)日志和運(yùn)行界面,針對(duì)出現(xiàn)的問題再單獨(dú)處理。 查看日志,可以在運(yùn)行Flutter處的IDE調(diào)試控制臺(tái)查看 Flu
    發(fā)表于 10-23 16:36

    鴻蒙Flutter實(shí)戰(zhàn):11-使用 Flutter SDK 3.22.0

    # 使用 Flutter SDK 3.22.0 ## SDK 安裝 參考[鴻蒙Flutter實(shí)戰(zhàn):01-搭建開發(fā)環(huán)境]文章的說明,首先安裝 Flutter SDK 3.22.0。 目前鴻蒙化
    發(fā)表于 11-01 15:03

    主VI打開labview就彈出崩潰報(bào)告

    主VI打開labview就彈出崩潰報(bào)告,單獨(dú)打開子vi沒有問題。在開發(fā)機(jī)上運(yùn)行沒有問題,項(xiàng)目移植到另外一臺(tái)機(jī)出現(xiàn)此問題。各位有誰遇到?版本:labview2014
    發(fā)表于 04-22 10:16

    深入理解flutter的編譯原理與優(yōu)化

    將以一個(gè)簡單的hello_flutter為例,介紹下Flutter相關(guān)原理及定制與優(yōu)化Flutter簡介Flutter的架構(gòu)主要分成三層:
    發(fā)表于 07-02 17:47

    關(guān)于labview崩潰報(bào)告

    使用labview調(diào)用Dll編寫程序,程序運(yùn)行多次后會(huì)顯示labview崩潰報(bào)告器。不知是否因?yàn)榕渲肈LL參數(shù)問題導(dǎo)致,有了解labview調(diào)用DLL的高人麻煩指導(dǎo)一下,謝謝注:附件有VI程序(labview2017版編寫)和DLL相關(guān)文檔
    發(fā)表于 10-10 18:43

    bk_flutter_image Flutter圖片內(nèi)存優(yōu)化

    ./oschina_soft/bk_flutter_image.zip
    發(fā)表于 06-23 11:12 ?1次下載
    bk_<b class='flag-5'>flutter</b>_image <b class='flag-5'>Flutter</b>圖片內(nèi)存<b class='flag-5'>優(yōu)化</b>庫

    Flutter Go Flutter學(xué)習(xí)App

    ./oschina_soft/flutter-go.zip
    發(fā)表于 06-23 09:21 ?0次下載
    <b class='flag-5'>Flutter</b> Go <b class='flag-5'>Flutter</b>學(xué)習(xí)App

    flutter_ocr Flutter開發(fā)的OCR軟件

    ./oschina_soft/flutter_ocr.zip
    發(fā)表于 06-24 14:43 ?3次下載
    <b class='flag-5'>flutter</b>_ocr <b class='flag-5'>Flutter</b>開發(fā)的OCR軟件

    Flutter 共創(chuàng)未來 | Flutter Forward 活動(dòng)精彩回顧

    作者 / Google 開發(fā)者框架和語言 (含 Flutter、Dart 和 Go) 產(chǎn)品經(jīng)理 用戶體驗(yàn)總監(jiān) Tim Sneath 我們很高興可以在 Flutter Forward 活動(dòng) 上分享我們
    的頭像 發(fā)表于 02-22 23:20 ?587次閱讀

    社區(qū)說 | 精益求精: Flutter 技巧專題篇

    分享包括: Flutter 定位分析與未來展望、Flutter Lint 的代碼優(yōu)化最佳實(shí)踐、可滾動(dòng)控件 Lazy Loading 源碼解析等。既深入細(xì)節(jié),又展望未來,走在精通
    的頭像 發(fā)表于 07-25 17:45 ?453次閱讀
    社區(qū)說 | 精益求精: <b class='flag-5'>Flutter</b> 技巧專題篇

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

    分享包括: Flutter 定位分析與未來展望、Flutter Lint 的代碼優(yōu)化最佳實(shí)踐、可滾動(dòng)控件 Lazy Loading 源碼解析等。既深入細(xì)節(jié),又展望未來,走在精通
    的頭像 發(fā)表于 07-27 17:40 ?415次閱讀
    【今晚開播】社區(qū)說 | 精益求精: <b class='flag-5'>Flutter</b> 技巧專題篇

    Flutter應(yīng)用代碼混淆優(yōu)化防護(hù)的常見問題與解決方案

    分析flutter應(yīng)用很依賴反編譯工具轉(zhuǎn)儲(chǔ)的dart文件中的信息,可以在開發(fā)flutter的過程中開啟混淆,能有效防止靜態(tài)分析。
    的頭像 發(fā)表于 08-12 11:11 ?2450次閱讀

    淺談兼容 OpenHarmony 的 Flutter

    OpenHarmony SIG 組織在 Gitee 開源了兼容 OpenHarmony 的 Flutter。該組織主要用于孵化 OpenHarmony 相關(guān)的開源生態(tài)項(xiàng)目。 ? ? ▲ 倉庫地址
    的頭像 發(fā)表于 02-02 15:22 ?608次閱讀
    淺談兼容 OpenHarmony 的 <b class='flag-5'>Flutter</b>
    RM新时代网站-首页