開始使用 Firebase Crashlytics

本快速入門導覽課程說明如何在應用程式中使用 Firebase Crashlytics SDK 設定 Firebase Crashlytics,以便在 Firebase 控制台中取得完整的當機報告。Android 適用的 Crashlytics 可讓您取得當機、一般錯誤和「應用程式無回應」(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

<project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradle建議您使用 Firebase Android BoM 控管程式庫的版本管理。

若要利用導覽標記記錄,請將 Google Analytics (分析) 專用 Firebase SDK 新增至您的應用程式。請確認 Firebase 專案中的已啟用 Google Analytics (分析)

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

    // 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 程式庫版本。

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

如果選擇不使用 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.0.2")
    implementation("com.google.firebase:firebase-analytics:22.0.2")
}
在尋找 Kotlin 專用的程式庫模組嗎?2023 年 10 月 (Firebase BoM 32.5.0) 起,Kotlin 和 Java 開發人員都能使用主要的程式庫模組 (詳情請參閱這項計畫的常見問題)。

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

  1. 根層級 (專案層級) Gradle 檔案 (<project>/build.gradle.kts<project>/build.gradle) 中,將 Crashlytics Gradle 外掛程式新增至 plugins 區塊:

    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. 前往 Firebase 控制台的 Crashlytics 資訊主頁,查看測試當機情況。

    如果您已重新整理主控台,但五分鐘後仍未看到測試當機情況,請啟用偵錯記錄功能,確認應用程式是否會傳送當機報告。


大功告成!Crashlytics 現在會監控您的應用程式是否有當機、一般錯誤和 ANR 情形。前往 Crashlytics 資訊主頁,即可查看和調查所有報表和統計資料。

後續步驟

  • 與 Google Play 整合,直接在 Crashlytics 資訊主頁中,依 Google Play 測試群組篩選 Android 應用程式的當機報告。如此一來,您就能將資訊主頁的重點放在特定版本上。
  • 在 Android Studio 中,查看及篩選 Crashlytics 資料。
    • 使用 Android Studio 中的「App Quality Insights」視窗查看 Crashlytics 資料以及程式碼,無須在 Crashlytics 資訊主頁和 IDE 之間來回切換,即可開始對重大問題進行偵錯。
    • 如要存取 Android Studio 的 Electric Eel 版本 (穩定版),可存取 AQI 視窗,或試用 Flamingo (Beta 版) 中的全新 AQI 功能下載所需的 Android Studio 版本。
    • 請參閱 Android Studio 說明文件,瞭解如何使用 AQI 視窗
    • 歡迎您將使用心得與我們分享!如要提供有關 AQI 視窗的意見回饋,請提交錯誤報告