本快速入門介紹如何使用 Crashlytics Flutter 插件在您的應用中設置 Firebase Crashlytics,以便您可以在 Firebase 控制台中獲取全面的崩潰報告。
設置 Crashlytics 涉及使用命令行工具和 IDE。要完成設置,您需要強制引發測試異常,以將您的第一個崩潰報告發送到 Firebase。
在你開始之前
如果您還沒有,請在 Flutter 項目中配置和初始化 Firebase 。
推薦:要獲得無崩潰用戶、麵包屑日誌和速度警報等功能,您需要在 Firebase 項目中啟用 Google Analytics。
Crashlytics 支持的所有 Android 和 Apple 平台(watchOS 除外)都可以利用 Google Analytics 的這些功能。
確保在您的 Firebase 項目中啟用了 Google Analytics:轉到
>項目設置>集成選項卡,然後按照 Google Analytics 的屏幕說明進行操作。
第 1 步:將 Crashlytics 添加到您的 Flutter 項目中
在 Flutter 項目的根目錄下,運行以下命令來安裝 Crashlytics Flutter 插件:
flutter pub add firebase_crashlytics
在 Flutter 項目的根目錄中,運行以下命令:
flutterfire configure
運行此命令可確保您的 Flutter 應用的 Firebase 配置是最新的,並且對於 Android,將所需的 Crashlytics Gradle 插件添加到您的應用中。
完成後,重新構建您的 Flutter 項目:
flutter run
第 2 步:配置崩潰處理程序
您可以通過使用FirebaseCrashlytics.instance.recordFlutterFatalError
覆蓋FlutterError.onError
來自動捕獲 Flutter 框架內引發的所有錯誤:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
// Pass all uncaught errors from the framework to Crashlytics.
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;
runApp(MyApp());
}
如果您正在使用區域,則檢測區域的錯誤處理程序將捕獲 Flutter 框架未捕獲的錯誤(例如,在按鈕的onPressed
處理程序中):
void main() async {
runZonedGuarded<Future<void>>(() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
FlutterError.onError =
FirebaseCrashlytics.instance.recordFlutterFatalError;
runApp(MyApp());
}, (error, stack) =>
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true));
}
有關如何處理其他類型錯誤的示例,請參閱自定義崩潰報告。
第 3 步:強制測試崩潰以完成設置
要完成 Crashlytics 的設置並在 Firebase 控制台的 Crashlytics 儀表板中查看初始數據,您需要強制引發測試異常。
將代碼添加到您的應用程序中,您可以使用它來強制引發測試異常。
如果您已將調用
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true)
的錯誤處理程序添加到頂級Zone
,則可以使用以下代碼向您的應用添加一個按鈕,按下該按鈕時會拋出測試異常:TextButton( onPressed: () => throw Exception(), child: const Text("Throw Test Exception"), ),
構建並運行您的應用程序。
強制拋出測試異常以發送您應用的第一個報告:
從您的測試設備或模擬器打開您的應用程序。
在您的應用程序中,按下您使用上述代碼添加的測試異常按鈕。
轉到 Firebase 控制台的Crashlytics 儀表板以查看您的測試崩潰。
如果您已刷新控制台,但五分鐘後仍未看到測試崩潰,請啟用調試日誌記錄以查看您的應用是否正在發送崩潰報告。
就是這樣! Crashlytics 現在正在監控您的應用程序的崩潰情況,以及在 Android 上的非致命錯誤和 ANR。訪問Crashlytics 儀表板以查看和調查您的所有報告和統計信息。
下一步
通過添加選擇加入報告、日誌、密鑰和跟踪其他非致命錯誤來自定義您的崩潰報告設置。
與 Google Play 集成,以便您可以直接在 Crashlytics 儀表板中按 Google Play 跟踪過濾您的 Android 應用程序的崩潰報告。這使您可以更好地將儀表板集中在特定的構建上。
使用 Android Studio 中的App Quality Insights窗口在代碼旁邊查看堆棧跟踪和崩潰統計信息(從 Electric Eel 2022.1.1 開始提供)。