Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Czy mogę jednocześnie używać wielu raportów z tytułu awarii z MVVMCROSS


Czy mogę jednocześnie używać wielu raportów z tytułu awarii z MVVMCROSS


Korzystanie z wielu SDK raportowania awarii jednocześnie z MVVMCROSS może być złożone i nie zawsze może być zalecane, szczególnie na iOS. Oto szczegółowy przegląd:

ogólne rozważania

1. Ograniczenia iOS: na iOS stosowanie wielu raportów z wypadków nie jest zasadniczo zalecane. Wynika to z faktu, że iOS obsługuje wyjątki i sygnały w sposób, który nie gwarantuje, że wszyscy reporterzy katastrofy złapią wszystkie wyjątki i sygnały, potencjalnie prowadząc do pominiętej awarii [8]. Jednak niektórzy programiści z powodzeniem wykorzystali wielu reporterów awarii, takich jak TestFlight i Crashlytics razem, ale wymaga to starannej konfiguracji [4].

2. Elastyczność Androida: na Androida bardziej wykonalne jest jednocześnie korzystanie z wielu zestawów SDK raportowania awarii. Jednak kluczowe jest zapewnienie, że każdy SDK jest inicjowany we właściwej kolejności, aby uniknąć konfliktów. Na przykład Instabug powinien zostać zainicjowany po innych reporterach katastrofy [8].

Mvvmcross Integracja

Podczas integracji raportów awaryjnych z MVVMCross należy zastanowić się, w jaki sposób każda SDK obsługuje wyjątki bezgłośne i jak oddziałują z ramą MVVMCROSS.

- Obsługa wyjątków: sam MVVMCROSS nie zapewnia wbudowanych raportów awarii. Będziesz musiał zintegrować SDK stron trzecich. Korzystając z wielu SDK, upewnij się, że są one skonfigurowane do prawidłowego obsługi wyjątków bez wzajemnej ingerowania.

- Podstawowa konfiguracja projektu: W projekcie MVVMCROSS Core zwykle nie będziesz obsługiwać raportów awarii. Zamiast tego zintegrujesz raporty z awarii w projektach specyficznych dla platformy (np. IOS i Android). Możesz jednak scentralizować logikę obsługi błędów w podstawowym projekcie dla spójności na różnych platformach.

Raportowanie o awarii Opcje SDK

Kilka SDK raportów awaryjnych można użyć z MVVMCROSS:

- Centrum aplikacji: Zapewnia kompleksowe raportowanie i analizy awaryjne zarówno dla iOS, jak i Androida. Łatwo jest zintegrować się z projektami Xamarin i MVVMcross [5].

- Nowy relikwia: oferuje solidne raportowanie i monitorowanie wydajności. Obsługuje Androida i może współpracować z innymi ramami raportowania katastrofy [2] [10].

- InstaBug: Zapewnia szczegółowe raporty awarii i narzędzia zwrotne użytkowników. Można go stosować zarówno na iOS, jak i Androida, ale z odnotowanymi ograniczeniami na iOS [8].

Kroki implementacji

Aby wdrożyć wiele SDK raportowania awarii z MVVMCROSS:

1. Wybierz SDK: Wybierz SDK, których chcesz użyć na podstawie wymagań platformy i funkcji.

2. Zainicjuj SDK: Upewnij się, że każda SDK jest prawidłowo inicjowana w projektach specyficznych dla platformy. Na Androidzie zainicjuj je we właściwej kolejności, aby uniknąć konfliktów.

3. Obsługa wyjątków: Skonfiguruj każdy zestaw SDK, aby obsługiwać wyjątki nieokreślone. Jeśli korzystasz z wielu SDK, upewnij się, że są one skonfigurowane do współpracy bez ingerowania w siebie nawzajem.

4. Dokładnie przetestuj: dokładnie przetestuj aplikację, aby upewnić się, że wszystkie SDK raportowania awarii działają zgodnie z oczekiwaniami i nie powodują żadnych konfliktów.

Podsumowując, choć technicznie możliwe jest użycie wielu SDK raportowania awarii z MVVMCross, wymaga starannej konfiguracji i testowania, szczególnie na iOS. Na Androidzie jest to prostsze, ale nadal wymaga uwagi na kolejność inicjalizacji.

Cytaty:
[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/595558389
[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-other-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-o-of-ios-crash-reports-with-lldb