同时使用MVVMCross同时使用多个崩溃报告很复杂,并且不一定总是建议,尤其是在iOS上。这是一个详细的概述:
##一般考虑
1。IOS限制:在iOS上,通常不建议使用多个崩溃报告SDK。这是因为iOS以一种不能保证所有崩溃记者会捕获所有异常和信号的方式处理异常和信号,这可能会导致错过崩溃[8]。但是,一些开发人员已成功使用了多个崩溃记者,例如Testflight和Crashlytics,但这需要仔细的设置[4]。
2。android灵活性:在Android上,同时使用多个崩溃报告更可行。但是,至关重要的是要确保每个SDK以正确的顺序初始化以避免冲突。例如,应在其他崩溃记者[8]之后初始化Instabug。
MVVMCross集成
当将崩溃报告与MVVMCross集成时,您需要考虑每个SDK如何处理无人例外的例外以及它们如何与MVVMCROSS框架进行交互。
- 例外处理:MVVMCross本身不提供内置崩溃报告。您将需要集成第三方SDK。使用多个SDK时,请确保将它们配置为正确处理异常,而不会彼此干扰。
- 核心项目设置:在您的MVVMCROSS核心项目中,您通常不会直接处理崩溃报告。相反,您将在平台特定的项目(例如iOS和Android)中集成崩溃报告。但是,您可能需要将错误处理逻辑集中在核心项目中,以跨平台的一致性。
##崩溃报告SDK选项
MVVMCross可以使用几个崩溃报告SDK:
- 应用中心:为iOS和Android提供全面的崩溃报告和分析。与Xamarin和MVVMCross项目相结合很容易[5]。
- 新遗物:提供强大的崩溃报告和性能监控。它支持Android,并且可以与其他崩溃报告框架一起工作[2] [10]。
- Instabug:提供详细的崩溃报告和用户反馈工具。它可以在iOS和Android上使用,但对iOS的限制[8]。
##实施步骤
用MVVMCROSS实施多个崩溃报告SDK:
1。选择SDK:选择您要根据平台和功能要求使用的SDK。
2。初始化SDK:确保每个SDK在平台特定的项目中正确初始化。在Android上,以正确的顺序初始化它们以避免冲突。
3。处理异常:配置每个SDK以处理未熟悉的异常。如果使用多个SDK,请确保将它们设置为一起工作,而不会干扰彼此的异常处理。
4.彻底测试:彻底测试您的应用程序,以确保所有崩溃报告SDK都按预期工作并且不会引起任何冲突。
总而言之,虽然从技术上讲可以使用MVVMCross多个崩溃报告SDK,但它需要仔细的设置和测试,尤其是在iOS上。在Android上,它更简单,但仍需要注意初始化顺序。
引用:[1] https://stackoverflow.com/questions/19464339/xamarin-mvvmcross-and-crashreporting
[2] https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/install-configure/android-android-agent-agent-crash-reporting/
[3] https://www.mvvmcross.com/documentation/advanced/mvxnotifytask
[4] https://stackoverflow.com/questions/10755278/use-multiple-crash-reporter-on-ios
[5] https://www.youtube.com/watch?v=jr2fe-wan9c
[6] https://stackoverflow.com/questions/59078153/mvvmcross-android-10-0-0-q-mainactivity-exceptivitivion-crash-crash-on-setcontentview/595558389
[7] https://github.com/mvvmcross/mvvmcross/issues/4295
[8] https://help.instabug.com/en/articles/2102240-can-i-is-the-the-the--instabug-crash-reporting-tool-tool-in-parallel-------------------------------------------------
[9] https://www.appdome.com/how-to/mobile-app-security/mobile-data-cerryption/appdome-inpegrates-crash-crash-reporting-sdk/
[10] https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/install-configure/android-android-agent-agent-native-native-native-native-native-native-native-native-native-native-native-native-native-native-native-native-nativ,
[11] https://support.google.com/googleplay/android-developer/answer/12246095?hl=en
[12] https://learn.microsoft.com/en-us/appcenter/sdk/crashes/android
[13] https://learn.microsoft.com/en-us/appcenter/sdk/troubleshooting/xamarin
[14] https://www.guardsquare.com/blog/making-the-most-of-of-os-ios-crash-reports-with-lldb