Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ¿Puedo usar múltiples SDK de informes de choque simultáneamente con MVVMCross?


¿Puedo usar múltiples SDK de informes de choque simultáneamente con MVVMCross?


El uso de múltiples SDK de informes de choque simultáneamente con MVVMCross puede ser complejo y no siempre puede recomendarse, especialmente en iOS. Aquí hay una descripción detallada:

Consideraciones generales

1. Limitaciones de iOS: en iOS, generalmente no se recomienda el uso de SDK de informes de choques múltiples. Esto se debe a que iOS maneja las excepciones y las señales de una manera que no garantiza que todos los reporteros de accidentes capten todas las excepciones y señales, lo que puede conducir a accidentes perdidos [8]. Sin embargo, algunos desarrolladores han utilizado con éxito múltiples reporteros de choque como TestFlight y Crashlytics juntos, pero esto requiere una configuración cuidadosa [4].

2. Flexibilidad de Android: en Android, es más factible usar múltiples SDK de informes de bloqueo simultáneamente. Sin embargo, es crucial garantizar que cada SDK se inicialice en el orden correcto para evitar conflictos. Por ejemplo, Instabug debe inicializarse después de otros reporteros de bloqueo [8].

Integración MVVMCross

Al integrar los SDK de informes de bloqueo con MVVMCross, debe considerar cómo cada SDK maneja las excepciones no capturas y cómo interactúan con el marco MVVMCross.

- Manejo de excepciones: MVVMCross en sí no proporciona informes de accidentes incorporados. Deberá integrar un SDK de terceros. Cuando use múltiples SDK, asegúrese de que estén configurados para manejar las excepciones correctamente sin interferir entre sí.

- Configuración central del proyecto: en su proyecto MVVMCross Core, generalmente no manejará los informes de bloqueo directamente. En su lugar, integrará los informes de bloqueo en los proyectos específicos de la plataforma (por ejemplo, iOS y Android). Sin embargo, es posible que desee centralizar el manejo de errores de la lógica en el proyecto central para la consistencia en todas las plataformas.

Opciones de SDK de informes de bloqueo

Se pueden usar varios SDK de informes de bloqueo con MVVMCross:

- Centro de aplicaciones: proporciona informes y análisis integrales de choques para iOS y Android. Es fácil integrarse con los proyectos Xamarin y MVVMCross [5].

- Nueva reliquia: ofrece informes de choque robustos y monitoreo de rendimiento. Admite Android y puede funcionar junto con otros marcos de informes de bloqueo [2] [10].

- Instabug: proporciona informes detallados de bloqueos y herramientas de comentarios de los usuarios. Se puede usar tanto en iOS como en Android, pero con las limitaciones notables en iOS [8].

Pasos de implementación

Para implementar múltiples SDK de informes de bloqueos con MVVMCross:

1. Elija SDK: seleccione los SDK que desea utilizar en función de su plataforma y requisitos de características.

2. Inicializar SDK: asegúrese de que cada SDK se inicie correctamente en los proyectos específicos de la plataforma. En Android, inicialícelos en el orden correcto para evitar conflictos.

3. Maneje las excepciones: configure cada SDK para manejar las excepciones no capturas. Si usa múltiples SDK, asegúrese de que estén configurados para trabajar juntos sin interferir con el manejo de excepciones del otro.

4. Pruebe a fondo: pruebe su aplicación a fondo para asegurarse de que todos los SDK de informes de bloqueo funcionen como se esperaba y no causa ningún conflicto.

En resumen, si bien es técnicamente posible utilizar múltiples SDK de informes de choques con MVVMCross, requiere una configuración y pruebas cuidadosas, especialmente en iOS. En Android, es más sencillo, pero aún requiere atención al orden de inicialización.

Citas:
[1] https://stackoverflow.com/questions/19464339/xamarin-mvvmcross-and-crashrereporting
[2] https://docs.newshelic.com/docs/mobile-monitoring/new-relic-mobile-noid/install-configure/android-agent-crash-reporting/
[3] https://www.mvvmcross.com/documentation/advanced/mvxnotifyTask
[4] https://stackoverflow.com/questions/10755278/use-multiple-crash-reporter-on-uses
[5] https://www.youtube.com/watch?v=jr2fe-wan9c
[6] https://stackoverflow.com/questions/59078153/mvvmcross-android-10-0-qmainactivity-exception-crash-on-setcontentview/595583889
[7] https://github.com/mvvmcross/mvvmcross/issues/4295
[8] https://help.instabug.com/en/articles/2102240-can-i-use-the-instabug-crash-reporting-tool-in-parallel-with-Other-crash-Reporters
[9] https://www.appdome.com/how-to/mobile-app-security/mobile-data-enntption/appdome-integrates-crash-reporting-sdk/
[10] https://docs.newshelic.com/docs/mobile-monitoring/new-relic-mobile-noid/install-configure/android-agent-native-crash-reporting/
[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/troublashooting/xamarin
[14] https://www.guardsquare.com/blog/making-the-most-out-of-ios-crash-reports-with-lldb