在New Relic的Android Agent 6.0.0版中介绍的递延崩溃报告涉及在发生崩溃报告时录制崩溃报告,但在下一个应用程序启动之前不上传它们[1]。这种方法可以通过多种方式影响多个崩溃报告SDK的集成:
1。崩溃报告重复:延期报告有助于通过延迟上传直到应用重新启动来减少重复的崩溃报告。但是,当使用多个SDK时,每个SDK可能会捕获相同的崩溃,有可能导致跨不同平台的重复报告,除非它们配置为无缝合作。
2。SDK互操作性:大多数崩溃报告工具旨在通过连接未熟悉的异常处理程序来与其他框架一起使用。例如,如果已经注册了另一个框架,则新的遗物可以链条以前的异常处理程序[1]。这意味着多个SDK可以共存并报告崩溃,但是初始化的顺序可能会影响哪些SDK首先捕获崩溃。
3。配置复杂性:集成多个崩溃报告SDK需要仔细的配置,以确保它们有效地工作。开发人员必须考虑每个SDK如何处理崩溃,是否支持推迟报告以及如何与其他框架进行交互。例如,可以一起使用firebase crashlytics和dynatrace,但是确保它们不会干扰彼此的功能至关重要[2]。
4。数据一致性:延期报告可能会导致不一致,如果不同的SDK在不同时间处理崩溃。例如,一个SDK可能会立即报告崩溃,而另一个SDK则等待应用程序重新启动。这可能会使对不同平台的崩溃数据的分析变得复杂。
5。调试挑战:将多个SDK与延期报告使用时,调试崩溃可能会变得更加复杂。开发人员需要确保正确配置每个SDK以准确捕获和报告崩溃,这在处理延期上传时可能会具有挑战性。
总而言之,递延崩溃报告可以增加多个崩溃报告SDK的集成的复杂性,需要仔细配置以确保无缝的交互和一致的数据报告。开发人员必须考虑每个SDK处理崩溃的方式以及它们如何与其他框架交互,以最大程度地提高崩溃报告的好处。
引用:[1] https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/install-configure/android-android-agent-agent-crash-reporting/
[2] https://community.dynatrace.com/t5/real-user-monitoring/multiple-unique-unique-inique-inique-ind---and-crash-details/m-p/163207
[3] https://trangotech.com/mobile/glossary/crash-reporting/
[4] https://stackoverflow.com/questions/78771698/crash-reporting-tool-whoich-differentiate-crash-from-my-my-sdk-and-client-app-in-and-in-
[5] https://stackoverflow.com/questions/10755278/use-multiple-crash-reporter-on-ios
[6] https://docs.omniverse.nvidia.com/kit/docs/carbonite/latest/docs/crashreporter.html
[7] https://firebase.google.com/docs/crashlytics/get-started
[8] https://firebase.google.com/docs/crashlytics/customize-crash-reports
[9] https://forum.sentry.io/t/flutter-ios-sentry-cocoa-sdk-not-reporting-all-crashes/11082
[10] https://firebase.google.com/docs/crashlytics
[11] https://forum.sentry.io/t/native-crash-not-reeported to-sentry-but-other-other-platform/12077
[12] https://raygun.com/learn/the-complete-guide-to-erorror-monitoring-and-and-crash-neporting