Å bruke flere krasjrapportering av SDK -er samtidig med MVVMCROSS kan være sammensatt og kan ikke alltid anbefales, spesielt ikke på iOS. Her er en detaljert oversikt:
Generelle hensyn
1. IOS -begrensninger: På iOS anbefales det vanligvis ikke å bruke flere krasjrapportering SDK -er. Dette fordi iOS håndterer unntak og signaler på en måte som ikke garanterer at alle krasjreportere vil fange alle unntak og signaler, noe som potensielt kan føre til tapte krasj [8]. Noen utviklere har imidlertid brukt flere krasjreportere som TestFlight og CrashLytics sammen, men dette krever nøye oppsett [4].
2. Android -fleksibilitet: På Android er det mer mulig å bruke flere krasjrapporterende SDK -er samtidig. Imidlertid er det avgjørende å sikre at hver SDK initialiseres i riktig rekkefølge for å unngå konflikter. For eksempel bør Instabug initialiseres etter andre krasjreportere [8].
mvvmcross integrasjon
Når du integrerer Crash Reporting SDK -er med MVVMCROSS, må du vurdere hvordan hver SDK håndterer usakede unntak og hvordan de samhandler med MVVMCROSS -rammen.
- Unntakhåndtering: MVVMCROSS i seg selv gir ikke innebygd krasjrapportering. Du må integrere en tredjeparts SDK. Når du bruker flere SDK -er, må du forsikre deg om at de er konfigurert til å håndtere unntak riktig uten å forstyrre hverandre.
- Core Project Setup: I MVVMCROSS Core -prosjektet ditt, vil du vanligvis ikke håndtere krasjrapportering direkte. I stedet vil du integrere krasjrapportering i de plattformspesifikke prosjektene (f.eks. IOS og Android). Det kan imidlertid være lurt å sentralisere feilhåndteringslogikk i kjerneprosjektet for konsistens på tvers av plattformer.
Crash Reporting SDK Options
Flere krasjrapporterende SDK -er kan brukes med MVVMCROSS:
- App Center: Tilbyr omfattende krasjrapportering og analyser for både iOS og Android. Det er enkelt å integrere med Xamarin og MVVMCROSS -prosjekter [5].
- Ny relikvie: tilbyr robust krasjrapportering og resultatovervåking. Den støtter Android og kan jobbe sammen med andre Crash Reporting Frameworks [2] [10].
- Instabug: Tilbyr detaljerte krasjrapporter og tilbakemeldingsverktøy for brukere. Det kan brukes på både iOS og Android, men med de bemerkede begrensningene på iOS [8].
Implementeringstrinn
For å implementere flere krasjrapporterende SDK -er med MVVMCROSS:
1. Velg SDK -er: Velg SDK -er du vil bruke basert på plattform og funksjonskrav.
2. Initialiser SDK-er: Forsikre deg om at hver SDK initialiseres riktig i de plattformspesifikke prosjektene. På Android, initialiser dem i riktig rekkefølge for å unngå konflikter.
3. Håndter unntak: Konfigurer hver SDK for å håndtere usakede unntak. Hvis du bruker flere SDK -er, må du forsikre deg om at de er satt opp for å samarbeide uten å forstyrre hverandres unntakshåndtering.
4. Test grundig: Test appen din grundig for å sikre at alle krasjrapporterende SDK -er fungerer som forventet og ikke forårsaker noen konflikter.
Oppsummert, selv om det er teknisk mulig å bruke flere krasjrapporterende SDK -er med MVVMCROSS, krever det nøye oppsett og testing, spesielt på iOS. På Android er det mer enkel, men krever fortsatt oppmerksomhet til initialiseringsrekkefølge.
Sitasjoner:[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/no/articles/2102240-can-i-use-the-instabug-crash-reporting-tool-in-parallel-with-other-crash-reporters
[9] https://www.appsdome.com/how-to/mobile-app-scurity/mobile-data--cryption/appsdome-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.guardsquare.com/blog/making-the-most-out-of-ios-crash-report-with-ldb