開始使用 Firebase Crashlytics


本快速入門說明如何使用 Firebase Crashlytics SDK 在應用程式中設定 Firebase Crashlytics,以便您在 Firebase 主控台中取得完整的當機報告。使用 Crashlytics for Android,您可以取得當機、非嚴重錯誤和「應用程式無回應」(ANR) 錯誤的報表。

設定 Crashlytics 需要在 Firebase 主控台和 IDE 中執行多項工作 (例如新增 Firebase 設定檔和 Crashlytics SDK)。如要完成設定,您必須強制測試當機,才能將第一份當機報告傳送至 Firebase。

事前準備

  1. 如果您尚未將 Firebase 新增至 Android 專案,請先新增。如果您沒有 Android 應用程式,請下載 範例應用程式

  2. 建議:如要自動取得導覽標記記錄,瞭解導致當機、非致命或 ANR 事件的使用者動作,您必須在 Firebase 專案中啟用 Google Analytics

    • 如果現有的 Firebase 專案未啟用 Google Analytics,您可以前往 Firebase 控制台的 >「專案設定」整合分頁標籤,啟用 Google Analytics

    • 如要建立新的 Firebase 專案,請啟用「Google Analytics」 專案建立流程

  3. 確認應用程式符合下列「最低」需求版本:

    • Gradle 8.0 版
    • Android Gradle 外掛程式 8.1.0 版
    • Google 服務 Gradle 外掛程式 4.4.1

步驟 1:在應用程式中加入 Crashlytics SDK

建議您使用 Firebase Android BoM敬上 管理程式庫版本管理

如要使用導覽標記記錄, 也請將 Google Analytics 的 Firebase SDK 加進您的應用程式。請確認 已啟用 Google Analytics

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.3.0"))

    // Add the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-crashlytics")
    implementation("com.google.firebase:firebase-analytics")
}

只要使用 Firebase Android BoM, 應用程式一律會使用相容的 Firebase Android 程式庫版本。

(替代做法)  使用 BoM 新增 Firebase 程式庫依附元件

如果選擇不使用 Firebase BoM,請指定各個 Firebase 程式庫版本 都屬於依附元件行

請注意,如果您在應用程式中使用多個 Firebase 程式庫,強烈建議您 建議使用 BoM 管理程式庫版本,確保所有版本 相容。

dependencies {
    // Add the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-crashlytics:19.1.0")
    implementation("com.google.firebase:firebase-analytics:22.1.0")
}
想尋找 Kotlin 專屬的程式庫模組嗎?2023 年 10 月 (Firebase BoM 32.5.0)起,Kotlin 和 Java 開發人員都可以依附主要程式庫模組 (詳情請參閱這項計畫的常見問題)。

步驟 2:在應用程式中加入 Crashlytics Gradle 外掛程式

  1. 在您的根層級 (專案層級) Gradle 檔案 (<project>/build.gradle.kts<project>/build.gradle),請將 plugins 區塊的 Crashlytics Gradle 外掛程式:

    Kotlin

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id("com.android.application") version "8.1.4" apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id("com.google.gms.google-services") version "4.4.2" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.2" apply false
    }

    Groovy

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id 'com.android.application' version '8.1.4' apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id 'com.google.gms.google-services' version '4.4.2' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.2' apply false
    }
  2. 模組 (應用程式層級) Gradle 檔案中 (通常為 <project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradle)、 新增 Crashlytics Gradle 外掛程式:

    Kotlin

    plugins {
      id("com.android.application")
      // ...
    
      // Make sure that you have the Google services Gradle plugin
      id("com.google.gms.google-services")
    
      // Add the Crashlytics Gradle plugin
      id("com.google.firebase.crashlytics")
    }

    Groovy

    plugins {
      id 'com.android.application'
      // ...
    
      // Make sure that you have the Google services Gradle plugin
      id 'com.google.gms.google-services'
    
      // Add the Crashlytics Gradle plugin
      id 'com.google.firebase.crashlytics'
    }

步驟 3:強制測試當機以完成設定

您需要強制測試當機,才能完成設定 Crashlytics,並在 Firebase 控制台的 Crashlytics 資訊主頁中看見初始資料。

  1. 在應用程式中新增程式碼,以便強制執行測試當機。

    您可以在應用程式的 MainActivity 中使用下列程式碼新增按鈕 會導致當機。按鈕標示為「Test Crash」。

    Kotlin+KTX

    val crashButton = Button(this)
    crashButton.text = "Test Crash"
    crashButton.setOnClickListener {
       throw RuntimeException("Test Crash") // Force a crash
    }
    
    addContentView(crashButton, ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT))

    Java

    Button crashButton = new Button(this);
    crashButton.setText("Test Crash");
    crashButton.setOnClickListener(new View.OnClickListener() {
       public void onClick(View view) {
           throw new RuntimeException("Test Crash"); // Force a crash
       }
    });
    
    addContentView(crashButton, new ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT));
  2. 建構並執行應用程式。

  3. 強制執行測試當機,以便傳送應用程式的首份當機報告:

    1. 在測試裝置或模擬器中開啟應用程式。

    2. 在應用程式中,按下您使用上述程式碼新增的「Test Crash」按鈕。

    3. 應用程式當機後,請重新啟動應用程式,以便將當機報告傳送至 Firebase。

  4. 前往下列網址的 Crashlytics 資訊主頁Firebase 控制台,查看測試當機情形。

    如果您已重新整理控制台,但五分鐘後仍未看到測試異常終止,請啟用偵錯記錄,看看應用程式是否會傳送異常終止報告。


就是這麼簡單!Crashlytics 現在會監控您的應用程式是否有當機問題,一般問題 錯誤和 ANR 事件 前往 Crashlytics 資訊主頁查看和調查問題 所有報表和統計資料

後續步驟

  • Google Play 整合,讓 可以直接依下列路徑篩選 Android 應用程式的當機報告:Google Play Crashlytics資訊主頁。這樣一來,您就能更專注於資訊主頁的特定版本。
  • 在 Android Studio 中,檢視及篩選 Crashlytics 資料。
    • 使用 Android Studio 中的「App Quality Insights」(AQI) 視窗,即可在程式碼旁邊查看 Crashlytics 資料,無須在 Crashlytics 資訊主頁和 IDE 之間來回切換,即可開始偵錯主要問題。
    • 請參閱 Android Studio 說明文件,瞭解如何使用空氣品質指標視窗
    • 歡迎您將使用心得與我們分享!如要提供您對 AQI 視窗的意見,請按 提交錯誤報告