El informe de choque diferido, como se introdujo en la versión 6.0.0 de Android Agent de New Relic, implica grabar informes de bloqueo cuando ocurren pero no cargarlos hasta el próximo lanzamiento de la aplicación [1]. Este enfoque puede afectar la integración de múltiples SDK de informes de choques de varias maneras:
1. Sin embargo, al usar múltiples SDK, cada uno podría capturar el mismo bloqueo, lo que puede conducir a informes duplicados en diferentes plataformas a menos que estén configurados para trabajar juntos sin problemas.
2. INTEROPERABILIDAD DE SDK: La mayoría de las herramientas de informes de choque están diseñadas para funcionar con otros marcos al encadenar a los manejadores de excepción no capturados. Por ejemplo, la nueva reliquia puede encadenar a los manejadores de excepción anteriores si ya está registrado otro marco [1]. Esto significa que múltiples SDK pueden coexistir e informar bloqueos, pero el orden de inicialización podría afectar qué SDK captura primero el accidente.
3. Complejidad de configuración: la integración de múltiples SDK de informes de bloqueos requiere una configuración cuidadosa para garantizar que funcionen juntos de manera efectiva. Los desarrolladores deben considerar cómo se bloquea cada SDK, si admiten informes diferidos y cómo interactúan con otros marcos. Por ejemplo, Firebase Crashlytics y Dynatrace se pueden usar juntos, pero garantizar que no interfieran con la funcionalidad del otro es crucial [2].
4. Consistencia de los datos: los informes diferidos pueden conducir a inconsistencias si diferentes SDK manejan bloqueos en diferentes momentos. Por ejemplo, un SDK podría informar un bloqueo de inmediato, mientras que otro espera hasta que la aplicación se reinicie. Esto podría complicar el análisis de los datos de bloqueo en diferentes plataformas.
5. Desafíos de depuración: cuando se usa múltiples SDK con informes diferidos, los bloqueos de depuración pueden volverse más complejos. Los desarrolladores deben asegurarse de que cada SDK esté configurado correctamente para capturar e informar los bloqueos con precisión, lo que puede ser un desafío cuando se trata de cargas diferidas.
En resumen, los informes de bloqueo diferido pueden agregar complejidad a la integración de múltiples SDK de informes de bloqueos, que requieren una configuración cuidadosa para garantizar una interacción perfecta e informes de datos consistentes. Los desarrolladores deben considerar cómo cada SDK maneja los bloqueos y cómo interactúan con otros marcos para maximizar los beneficios de los informes de accidentes.
Citas:[1] https://docs.newshelic.com/docs/mobile-monitoring/new-relic-mobile--loid/install-configure/android-agent-crash-reporting/
[2] https://community.dynatrace.com/t5/real-user-monitoring/multiple-unique-id-and-crash-details/m-p/163207
[3] https://trangotech.com/mobile/glossary/crash-reporting/
[4] https://stackoverflow.com/questions/78771698/crash-reporting-tool-whichhiferentiate-crash-from-my-sdk-and-papp-in-and-and-and-and-and-and
[5] https://stackoverflow.com/questions/10755278/use-multiple-crash-reporter-on-uses
[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-reported-to-sentry-but-ostplatform/12077
[12] https://raygun.com/learn/the-plete-guide-to-error-monitoring-and-crash-reporting