Utilizarea mai multor SDK -uri de raportare a accidentelor de accidente simultan cu MVVMcross poate fi complexă și este posibil să nu fie întotdeauna recomandat, în special pe iOS. Iată o imagine de ansamblu detaliată:
Considerații generale
1. Limitări iOS: Pe iOS, utilizarea mai multor SDK -uri de raportare a accidentelor nu este, în general, nu este recomandată. Acest lucru se datorează faptului că IOS gestionează excepții și semnale într -un mod care nu garantează că toți reporterii de accidente vor prinde toate excepțiile și semnalele, ceea ce ar putea duce la prăbușiri ratate [8]. Cu toate acestea, unii dezvoltatori au folosit împreună mai mulți reporteri de accidente, precum TestFlight și Crashlytics, dar acest lucru necesită o configurație atentă [4].
2. Flexibilitatea Android: Pe Android, este mai posibil să utilizați mai multe SDK -uri de raportare a accidentelor simultan. Cu toate acestea, este crucial să vă asigurați că fiecare SDK este inițializat în ordinea corectă pentru a evita conflictele. De exemplu, Instabug ar trebui inițializat după alți reporteri de accident [8].
Integrare MVVMcross
Atunci când integrați SDK -urile care raportează CRASH cu MVVMcross, trebuie să luați în considerare modul în care fiecare SDK gestionează excepțiile necesară și modul în care interacționează cu cadrul MVVMCross.
- Manevrarea excepțiilor: MVVMCross în sine nu oferă raportarea de accidente încorporate. Va trebui să integrați un SDK terț. Când utilizați mai multe SDK -uri, asigurați -vă că sunt configurați pentru a gestiona corect excepțiile fără a interfera între ele.
- Configurarea proiectului de bază: În proiectul dvs. MVVMcross Core, de obicei nu veți gestiona direct raportarea accidentelor. În schimb, veți integra raportarea accidentelor în proiectele specifice platformei (de exemplu, iOS și Android). Cu toate acestea, poate doriți să centralizați logica de gestionare a erorilor în proiectul de bază pentru consecvență pe platforme.
Opțiuni SDK de raportare a accidentelor
Mai multe SDK -uri de raportare a accidentelor pot fi utilizate cu MVVMCross:
- Centrul de aplicații: oferă raportarea completă a accidentelor și analize atât pentru iOS, cât și pentru Android. Este ușor de integrat cu proiectele Xamarin și MVVMcross [5].
- Noua relicvă: oferă raportarea robustă a accidentelor și monitorizarea performanței. Suportă Android și poate lucra alături de alte cadre de raportare a accidentelor [2] [10].
- Instabug: oferă rapoarte detaliate de accidente și instrumente de feedback ale utilizatorilor. Poate fi utilizat atât pe iOS, cât și pe Android, dar cu limitările notate pe iOS [8].
Pași de implementare
Pentru a implementa mai multe SDK -uri de raportare a accidentelor cu MVVMCross:
1. Alegeți SDK -uri: Selectați SDK -urile pe care doriți să le utilizați pe baza platformei și a cerințelor de caracteristici.
2. Inițializați SDK-urile: Asigurați-vă că fiecare SDK este inițializat corect în proiectele specifice platformei. Pe Android, inițializează -le în ordinea corectă pentru a evita conflictele.
3. Manevrați excepții: Configurați fiecare SDK pentru a gestiona excepțiile necesară. Dacă utilizați mai multe SDK -uri, asigurați -vă că sunt configurate pentru a lucra împreună fără a interfera cu gestionarea excepțiilor reciproce.
4. Testează -te în detaliu: Testați -vă în detaliu aplicația pentru a vă asigura că toate SDK -urile de raportare a accidentelor funcționează așa cum este de așteptat și nu provoacă niciun conflict.
În rezumat, deși este posibil din punct de vedere tehnic să utilizați mai multe SDK -uri de raportare a accidentelor cu MVVMcross, necesită o configurare și testare atentă, în special pe iOS. Pe Android, este mai simplu, dar necesită totuși atenție la ordinea de inițializare.
Citări:[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=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-ishe-use-the-instabug-crash-reporting-in-in-pararallel-with-altul-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/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-reports-with-lldb