Het gebruik van meerdere crashrapportage SDK's tegelijkertijd met MVVMCross kan complex zijn en worden mogelijk niet altijd aanbevolen, vooral op iOS. Hier is een gedetailleerd overzicht:
Algemene overwegingen
1. IOS -beperkingen: op iOS wordt over het algemeen niet aanbevolen met meerdere crashrapportage SDK's. Dit komt omdat iOS uitzonderingen en signalen verwerkt op een manier die niet garandeert dat alle crash -verslaggevers alle uitzonderingen en signalen zullen vangen, wat mogelijk leidt tot gemiste crashes [8]. Sommige ontwikkelaars hebben echter met succes meerdere crashverslaggevers zoals Testflight en crashlytics gebruikt, maar dit vereist zorgvuldige opstelling [4].
2. Android -flexibiliteit: op Android is het haalbaarder om meerdere crashrapporting SDK's tegelijkertijd te gebruiken. Het is echter cruciaal om ervoor te zorgen dat elke SDK in de juiste volgorde wordt geïnitialiseerd om conflicten te voorkomen. Instabug moet bijvoorbeeld worden geïnitialiseerd na andere crash -verslaggevers [8].
MVVMCross Integratie
Bij het integreren van Crash -rapportage SDK's met MVVMCross, moet u overwegen hoe elke SDK niet -uitzonderingen omgaat en hoe deze omgaan met het MVVMCross -framework.
- Uitzonderingsbehandeling: MVVMCross zelf biedt geen ingebouwde crashrapportage. U moet een SDK van derden integreren. Zorg er bij het gebruik van meerdere SDK's voor dat deze zijn geconfigureerd om uitzonderingen correct af te handelen zonder elkaar te verstoren.
- Core Project Setup: in uw MVVMCross Core -project gaat u meestal niet naar crashrapportage. In plaats daarvan integreert u crashrapportage in de platformspecifieke projecten (bijv. IOS en Android). Misschien wilt u echter de logica van de foutafhandeling centraliseren in het kernproject voor consistentie op verschillende platforms.
Crash -rapportage SDK -opties
Verschillende crashrapportage SDK's kunnen worden gebruikt met MVVMCross:
- App Center: biedt uitgebreide crashrapportage en analyses voor zowel iOS als Android. Het is gemakkelijk te integreren met Xamarin- en MVVMCross -projecten [5].
- Nieuw relikwie: biedt robuuste crashrapportage en prestatiemonitoring. Het ondersteunt Android en kan samenwerken met andere Crash Reporting Frameworks [2] [10].
- Instabug: biedt gedetailleerde crashrapporten en hulpmiddelen voor gebruikersfeedback. Het kan worden gebruikt op zowel iOS als Android, maar met de bekende beperkingen op iOS [8].
Implementatiestappen
Om meerdere crashrapportages SDK's te implementeren met MVVMCross:
1. Kies SDK's: selecteer de SDK's die u wilt gebruiken op basis van uw platform en functie -vereisten.
2. Initialiseer SDK's: zorg ervoor dat elke SDK correct wordt geïnitialiseerd in de platformspecifieke projecten. Initialiseer ze op Android in de juiste volgorde om conflicten te voorkomen.
3. HANDEL UITZONDERINGEN: Configureer elke SDK om niet -uitzonderingen af te handelen. Als u meerdere SDK's gebruikt, zorg er dan voor dat ze zijn ingesteld om samen te werken zonder elkaars uitzonderingsbehandeling te verstoren.
4. Test grondig: test uw app grondig om ervoor te zorgen dat alle crashrapporterende SDK's werken zoals verwacht en geen conflicten veroorzaken.
Samenvattend, hoewel het technisch mogelijk is om meerdere crashrapportages -SDK's te gebruiken met MVVMCross, vereist het zorgvuldig opstellen en testen, vooral op iOS. Op Android is het eenvoudiger, maar vereist nog steeds aandacht voor de initialisatieorder.
Citaten:[1] https://stackoverflow.com/questions/19464339/xamarin-mvvmcross-and-crashreportinging
[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-dekleed-10-0-q-mainactivity-exception-crash-on-SetContentView/595583899
[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-andere-crash-reporters
[9] https://www.appdome.com/how-to/mobile-app-security/mobile-data-encryption/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/googlasplay/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-t-of-ios-crash-reports-with-lldb