ToneSnap_FSX_Flutter/lib/firebase/firebase_crashlytics_manager.dart
2024-08-01 13:38:25 +08:00

36 lines
1.1 KiB
Dart

// Author: fengshengxiong
// Date: 2024/6/26
// Description: firebase_crashlytics管理
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:flutter/foundation.dart';
import 'package:tone_snap/utils/log_util.dart';
class FirebaseCrashlyticsManager {
static Future<void> setEnabled() async {
await FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(kReleaseMode);
}
static void recordFlutterError() {
// 非异步错误
FlutterError.onError = (errorDetails) {
// 插件错误 flutter_cache_manager
// https://github.com/Baseflow/flutter_cache_manager/issues/460
if (errorDetails.exceptionAsString().contains('No host specified in URI')) {
return;
}
LogUtil.e(errorDetails.exception);
FirebaseCrashlytics.instance.recordFlutterError(errorDetails);
};
}
static void recordError() {
// 异步错误
PlatformDispatcher.instance.onError = (error, stack) {
LogUtil.e(error);
FirebaseCrashlytics.instance.recordError(error, stack);
return true;
};
}
}