Brug af flere crashrapportering SDK'er samtidig med MVVMCROSS kan være kompleks og kan ikke altid anbefales, især på iOS. Her er en detaljeret oversigt:
Generelle overvejelser
1. iOS -begrænsninger: På iOS anbefales det generelt ikke at bruge flere crashrapporterings -SDK'er. Dette skyldes, at iOS håndterer undtagelser og signaler på en måde, der ikke garanterer, at alle crash -journalister vil fange alle undtagelser og signaler, hvilket potentielt fører til mistede nedbrud [8]. Nogle udviklere har imidlertid med succes brugt flere crash -journalister som TestFlight og Crashlytics sammen, men dette kræver omhyggelig opsætning [4].
2. Android -fleksibilitet: På Android er det mere muligt at bruge flere crashrapportering SDK'er samtidig. Det er dog vigtigt at sikre, at hver SDK initialiseres i den rigtige rækkefølge for at undgå konflikter. For eksempel skal Instabug initialiseres efter andre crash -journalister [8].
MVVMCROSS -integration
Når du integrerer crashrapportering af SDK'er med MVVMCROSS, skal du overveje, hvordan hver SDK håndterer uovertrufne undtagelser, og hvordan de interagerer med MVVMCROSS -rammen.
- Undtagelseshåndtering: MVVMCross selv giver ikke indbygget nedbrudsrapportering. Du bliver nødt til at integrere en tredjepart SDK. Når du bruger flere SDK'er, skal du sikre dig, at de er konfigureret til at håndtere undtagelser korrekt uden at forstyrre hinanden.
- Core Project Setup: I dit MVVMCROSS Core Project håndterer du typisk ikke rapportering om nedbrud direkte. I stedet integrerer du crashrapportering i de platformspecifikke projekter (f.eks. IOS og Android). Imidlertid ønsker du måske at centralisere fejlhåndteringslogik i kerneprojektet for konsistens på tværs af platforme.
Crash Reporting SDK -indstillinger
Flere crashrapportering SDK'er kan bruges med MVVMCROSS:
- App Center: Tilvejebringer omfattende crashrapportering og analyse til både iOS og Android. Det er let at integrere med Xamarin- og MVVMCROSS -projekter [5].
- Ny relikvie: Tilbyder robust crashrapportering og præstationsovervågning. Det understøtter Android og kan arbejde sammen med andre crashrapporteringsrammer [2] [10].
- Instabug: leverer detaljerede crashrapporter og brugerfeedbackværktøjer. Det kan bruges på både iOS og Android, men med de bemærkede begrænsninger på iOS [8].
Implementeringstrin
Sådan implementeres flere crashrapportering SDK'er med MVVMCROSS:
1. Vælg SDKS: Vælg de SDK'er, du vil bruge, baseret på din platform og funktionskrav.
2. Initialiser SDKS: Sørg for, at hver SDK initialiseres korrekt i de platformspecifikke projekter. På Android skal du initialisere dem i den rigtige rækkefølge for at undgå konflikter.
3. håndtag undtagelser: Konfigurer hver SDK til at håndtere uovertruffen undtagelser. Hvis du bruger flere SDK'er, skal du sikre dig, at de er indstillet til at arbejde sammen uden at forstyrre hinandens undtagelseshåndtering.
4. Test grundigt: Test din app grundigt for at sikre, at alle crashrapportering SDK'er fungerer som forventet og ikke forårsager konflikter.
Sammenfattende, selvom det er teknisk muligt at bruge flere crashrapportering SDK'er med MVVMCROSS, kræver det omhyggelig opsætning og test, især på iOS. På Android er det mere ligetil, men kræver stadig opmærksomhed på initialiseringsordren.
Citater:[1] https://stackoverflow.com/questions/19464339/xamarin-mvvmcross-and-crashreporting
)
[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=jr2fewan9c
)
[7] https://github.com/mvvmcross/mvvmcross/issues/4295
[8] https://help.instabug.com/en/articles/2102240-can-i-ifer-the-instabug-crash-rapporting-tool--in-parallel-with-othing-crash-reporters
)
[10] https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-android/install-configure/android-agent-native-crash-rapporting/
[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-rapporters-with-lldb