Att använda flera kraschrapportering SDKS samtidigt med MVVMCross kan vara komplex och kanske inte alltid rekommenderas, särskilt på iOS. Här är en detaljerad översikt:
Allmänna överväganden
1. iOS -begränsningar: På iOS rekommenderas i allmänhet att använda flera kraschrapportering av SDK: er. Detta beror på att iOS hanterar undantag och signaler på ett sätt som inte garanterar att alla kraschreporter kommer att fånga alla undantag och signaler, vilket potentiellt kan leda till missade krascher [8]. Vissa utvecklare har emellertid framgångsrikt använt flera kraschreportrar som TestFlight och Crashlytics tillsammans, men detta kräver noggrann installation [4].
2. Android -flexibilitet: På Android är det mer genomförbart att använda flera CRASH -rapportering SDKS samtidigt. Det är emellertid avgörande att säkerställa att varje SDK initialiseras i rätt ordning för att undvika konflikter. Till exempel bör Instabug initialiseras efter andra kraschreportrar [8].
MVVMCROSS -integration
När du integrerar Crash Reporting SDKS med MVVMCross, måste du överväga hur varje SDK hanterar Unced -undantag och hur de interagerar med MVVMCross -ramverket.
- Undantagshantering: MVVMCross själv ger inte inbyggd kraschrapportering. Du måste integrera en tredjeparts SDK. När du använder flera SDK: er ska du se till att de är konfigurerade för att hantera undantag korrekt utan att störa varandra.
- Core Project Setup: I ditt MVVMCross -kärnprojekt hanterar du vanligtvis inte kraschrapportering direkt. Istället kommer du att integrera kraschrapportering i plattformsspecifika projekt (t.ex. iOS och Android). Du kanske emellertid vill centralisera felhanteringslogik i kärnprojektet för konsistens mellan plattformar.
Kraschrapportering av SDK -alternativ
Flera kraschrapportering av SDK: er kan användas med MVVMCross:
- App Center: Ger omfattande kraschrapportering och analys för både iOS och Android. Det är enkelt att integrera med Xamarin- och MVVMCross -projekt [5].
- New Relic: Erbjuder robust kraschrapportering och övervakning av prestanda. Det stöder Android och kan arbeta tillsammans med andra ramar för kraschrapportering [2] [10].
- Instabug: Ger detaljerade kraschrapporter och användaråterkopplingsverktyg. Det kan användas på både iOS och Android, men med de noterade begränsningarna på iOS [8].
Implementeringssteg
För att implementera flera kraschrapportering av SDK: er med MVVMCross:
1. Välj SDK: Välj SDK: er du vill använda baserat på din plattform och funktionskrav.
2. Initiera SDK: Se till att varje SDK initialiseras korrekt i de plattformsspecifika projekten. På Android, initialisera dem i rätt ordning för att undvika konflikter.
3. Hantera undantag: Konfigurera varje SDK för att hantera oavsiktliga undantag. Om du använder flera SDK: er, se till att de är inställda för att arbeta tillsammans utan att störa varandras undantagshantering.
4. Testa noggrant: Testa din app noggrant för att säkerställa att alla Crash Reporting SDK: er fungerar som förväntat och inte orsakar några konflikter.
Sammanfattningsvis, även om det är tekniskt möjligt att använda flera CRASH -rapportering av SDK med MVVMCross, kräver det noggrann installation och testning, särskilt på iOS. På Android är det mer enkelt men kräver fortfarande uppmärksamhet på initialiseringsorder.
Citeringar:[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
]
[7] https://github.com/mvvmcross/mvvmcross/issues/4295
]
]
[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/trobleshooting/xamarin
]