Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Posso usare più sdks reporting crash contemporaneamente con mvvmcross


Posso usare più sdks reporting crash contemporaneamente con mvvmcross


L'uso di SDK di report di crash multipli contemporaneamente a MVVMCRoss può essere complesso e potrebbe non essere sempre raccomandato, specialmente su iOS. Ecco una panoramica dettagliata:

considerazioni generali

1. Limitazioni di iOS: su iOS, l'utilizzo di SDK di report di crash multipli non è generalmente raccomandato. Questo perché iOS gestisce eccezioni e segnali in un modo che non garantisce che tutti i giornalisti di crash cattureranno tutte le eccezioni e i segnali, portando potenzialmente a crash mancati [8]. Tuttavia, alcuni sviluppatori hanno utilizzato con successo più giornalisti di crash come Testflight e Crashlytics, ma ciò richiede un'attenta configurazione [4].

2. Flessibilità Android: su Android, è più fattibile utilizzare contemporaneamente SDK di report di crash. Tuttavia, è fondamentale garantire che ogni SDK sia inizializzato nell'ordine corretto per evitare conflitti. Ad esempio, Instabug dovrebbe essere inizializzato dopo altri giornalisti di crash [8].

MVVMCRoss Integrazione

Quando si integra gli SDK di report crash con MVVMCRoss, è necessario considerare come ogni SDK gestisce le eccezioni non insegnate e come interagiscono con il framework MVVMCRoss.

- Gestione delle eccezioni: MVVMCROSS stesso non fornisce report di crash integrato. Dovrai integrare un SDK di terze parti. Quando si utilizza più SDK, assicurarsi che siano configurati per gestire correttamente le eccezioni senza interferire tra loro.

- Configurazione del progetto principale: nel progetto MVVMCRoss Core, in genere non gestisci direttamente i report di crash. Invece, integrerai i report di crash nei progetti specifici della piattaforma (ad es. IOS e Android). Tuttavia, potresti voler centralizzare la logica di gestione degli errori nel progetto principale per la coerenza tra le piattaforme.

Opzioni SDK di reporting Crash

Diversi SDK di report di crash possono essere utilizzati con MVVMCRoss:

- Centro di app: fornisce report e analisi complete di crash sia per iOS che per Android. È facile integrare con i progetti Xamarin e MVVMCRoss [5].

- Nuova reliquia: offre un solido report di crash e monitoraggio delle prestazioni. Supporta Android e può lavorare a fianco di altri framework di report di crash [2] [10].

- Instabug: fornisce report dettagliati di crash e strumenti di feedback degli utenti. Può essere usato su iOS e Android, ma con i noti limiti su iOS [8].

Passaggi di implementazione

Per implementare più SDK di report di crash con MVVMCROSS:

1. Scegli SDK: selezionare gli SDK che desideri utilizzare in base alla piattaforma e ai requisiti delle funzionalità.

2. Inizializza SDK: assicurarsi che ogni SDK sia inizializzato correttamente nei progetti specifici della piattaforma. Su Android, inizializzali nell'ordine corretto per evitare conflitti.

3. Gestire le eccezioni: configurare ogni SDK per gestire le eccezioni non insegnate. Se si utilizzano più SDK, assicurarsi che siano impostati per lavorare insieme senza interferire con la manipolazione delle eccezioni reciproche.

4. Test accuratamente: testare accuratamente l'app per garantire che tutti gli SDK di report di crash funzionino come previsto e non causino alcun conflitto.

In sintesi, sebbene sia tecnicamente possibile utilizzare più SDK di report di crash con MVVMCRoss, richiede un'attenta configurazione e test, specialmente su iOS. Su Android, è più semplice ma richiede ancora attenzione all'ordine di inizializzazione.

Citazioni:
[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-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-q-mainactivity-exception-crash-on-setcontentview/59558389
[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-reperters
[9] https://www.appdome.com/how-to/mobile-app-security/mobile-data-concryption/appdome-integrates-crash-reporting-sdk/
[10] https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/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/troubleshooting/xamarin
[14] https://www.guardesquare.com/blog/making-the-most-out-of-ios-crash-reports-with-lldb