向服務回報錯誤
雖然人們總是努力創建沒有錯誤的應用程式,但它們肯定會不時出現。由於有錯誤的應用程式會導致使用者和客戶不滿意,因此了解使用者遇到錯誤的頻率以及這些錯誤發生的位置非常重要。這樣,您就可以優先處理影響最大的錯誤並努力修復它們。
如何確定使用者遇到錯誤的頻率?每當發生錯誤時,請建立一份包含發生錯誤和相關堆疊追蹤的報告。然後,您可以將報告傳送到錯誤追蹤服務,例如 Bugsnag、Datadog、Firebase Crashlytics、Rollbar 或 Sentry。
錯誤追蹤服務會彙總使用者遇到的所有當機事件,並將它們分組在一起。這可讓您了解應用程式失敗的頻率以及使用者在哪裡遇到問題。
在本食譜中,學習如何使用以下步驟向 Sentry 當機回報服務回報錯誤
- 從 Sentry 取得 DSN。
- 匯入 Flutter Sentry 套件
- 初始化 Sentry SDK
- 以程式方式捕捉錯誤
1. 從 Sentry 取得 DSN
#在向 Sentry 回報錯誤之前,您需要一個 "DSN" 來在 Sentry.io 服務中唯一識別您的應用程式。
要取得 DSN,請使用以下步驟
- 使用 Sentry 建立帳戶.
- 登入該帳戶。
- 建立新的 Flutter 專案。
- 複製包含 DSN 的程式碼片段。
2. 匯入 Sentry 套件
#將 sentry_flutter
套件匯入應用程式。 sentry 套件使向 Sentry 錯誤追蹤服務傳送錯誤報告變得更容易。
要將 sentry_flutter
套件新增為相依性,請執行 flutter pub add
flutter pub add sentry_flutter
3. 初始化 Sentry SDK
#初始化 SDK 以自動捕捉不同的未處理錯誤
import 'package:flutter/widgets.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
Future<void> main() async {
await SentryFlutter.init(
(options) => options.dsn = 'https://[email protected]/example',
appRunner: () => runApp(const MyApp()),
);
}
或者,您可以使用 dart-define
標籤將 DSN 傳遞給 Flutter
--dart-define SENTRY_DSN=https://[email protected]/example
這能帶給我什麼?
#這就是 Sentry 在 Dart 和原生層中捕捉未處理錯誤所需的一切。
這包括 iOS 上的 Swift、Objective-C、C 和 C++,以及 Android 上的 Java、Kotlin、C 和 C++。
4. 以程式方式捕捉錯誤
#除了 Sentry 透過匯入和初始化 SDK 自動產生的錯誤報告之外,您還可以使用 API 向 Sentry 回報錯誤
await Sentry.captureException(exception, stackTrace: stackTrace);
如需更多資訊,請參閱 pub.dev 上的 Sentry API 文件。
了解更多
#有關使用 Sentry SDK 的詳細文件,請參閱 Sentry 網站。
完整範例
#要檢視實際運作範例,請參閱 Sentry flutter 範例 應用程式。
除非另有說明,否則本網站上的文件反映 Flutter 的最新穩定版本。頁面上次更新於 2024-04-06。 檢視原始碼 或 回報問題。