[英]How can we add Firebase Crashlytics in flutter where the flutter app is itself added to existing iOS and Android app?
I want to add a flutter app into my existing native app, which I am able to do succesfully using flutter docs .我想将 flutter 应用程序添加到我现有的本机应用程序中,我可以使用 flutter docs成功完成。 After this, I want to log crashes and other data using firebase for the flutter screens.
在此之后,我想为 flutter 屏幕使用 firebase 记录崩溃和其他数据。 Since normal implementation of Flutter Fire requires changes to be made in the android and iOS folders, but these folders do not exist in flutter project.
由于 Flutter Fire 的正常实施需要在 android 和 iOS 文件夹中进行更改,但这些文件夹在 Z5ACEBC4CACB70DDBB0AEZ4B0AC76 项目中不存在So any ideas on how to do it?
那么关于如何做到这一点的任何想法?
I had the same issue.我遇到过同样的问题。
I solved by this way:我通过这种方式解决了:
For example:例如:
Native side in Swift: Swift 中的本机端:
let methodChannel = FlutterMethodChannel(name: "FLUTTER_CHANNEL", binaryMessenger: flutterEngine.binaryMessenger)
methodChannel.setMethodCallHandler { (call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in
if call.method == "HANDLE_ERROR" {
let userInfo: [String: String] = [
"deviceId": UIDevice.current.identifierForVendor!.uuidString
]
var errorData = "";
if let args = call.arguments as? Dictionary<String, Any> {
errorData = args["data"] as? String ?? ""
}
let error = NSError(domain: errorData, code: 0, userInfo: userInfo)
Crashlytics.crashlytics().record(error: error)
}
}
Flutter side: Flutter侧:
Future<void> _handleErrorNative([String errorData]) async {
try {
final methodChannel = MethodChannel("FLUTTER_CHANNEL");
await methodChannel.invokeMethod(
'HANDLE_ERROR',
{
"data": errorData,
},
);
} on PlatformException catch (_) {
print("_handleErrorNative PlatformException");
}
}
Remember, the crash only will send after reopen the app.请记住,崩溃只会在重新打开应用程序后发送。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.