MVVMCrossと同時にSDKを同時に報告する複数のクラッシュを使用することは複雑であり、特にiOSで常に推奨されるとは限りません。詳細な概要は次のとおりです。
##一般的な考慮事項
1。IOSの制限:iOSでは、複数のクラッシュレポートSDKを使用することは通常推奨されません。これは、IOSがすべてのクラッシュ記者がすべての例外と信号をキャッチし、潜在的に逃したクラッシュにつながることを保証しない方法で例外と信号を処理するためです[8]。ただし、一部の開発者は、TestFlightやCrashlyticsなどの複数のクラッシュレポーターを一緒に使用して正常に使用していますが、これには慎重なセットアップが必要です[4]。
2。Androidの柔軟性:Androidでは、複数のクラッシュレポートSDKを同時に使用することがより実現可能です。ただし、競合を回避するために、各SDKが正しい順序で初期化されるようにすることが重要です。たとえば、Instabugは他のcrash落記者の後に初期化する必要があります[8]。
mvvmcross統合
SDKをMVVMCrossと統合する場合、各SDKが猛攻撃の例外をどのように処理するか、およびそれらがMVVMCrossフレームワークとどのように相互作用するかを考慮する必要があります。
- 例外処理:MVVMCross自体は、組み込みのクラッシュレポートを提供しません。サードパーティのSDKを統合する必要があります。複数のSDKを使用する場合は、互いに干渉することなく例外を正しく処理するように構成されていることを確認してください。
- コアプロジェクトのセットアップ:MVVMCross Coreプロジェクトでは、通常、クラッシュレポートを直接処理しません。代わりに、プラットフォーム固有のプロジェクト(iOSやAndroidなど)にクラッシュレポートを統合します。ただし、プラットフォーム全体で一貫性をとるために、コアプロジェクトのエラー処理ロジックを集中化することをお勧めします。
Crash Reporting SDKオプション
MVVMCrossでいくつかのクラッシュレポートSDKを使用できます。
- アプリセンター:iOSとAndroidの両方に包括的なクラッシュレポートと分析を提供します。 XamarinおよびMVVMCrossプロジェクトと統合するのは簡単です[5]。
- 新しい遺物:堅牢なクラッシュレポートとパフォーマンス監視を提供します。 Androidをサポートし、他のクラッシュレポートフレームワークと一緒に動作することができます[2] [10]。
-InstaBUG:詳細なクラッシュレポートとユーザーフィードバックツールを提供します。 iOSとAndroidの両方で使用できますが、iOS [8]に顕著な制限があります。
##実装手順
MVVMCrossを使用して複数のクラッシュレポートSDKを実装するには:
1。SDKを選択します。プラットフォームと機能の要件に基づいて、使用するSDKを選択します。
2。SDKの初期化:プラットフォーム固有のプロジェクトで各SDKが正しく初期化されていることを確認します。 Androidでは、競合を回避するために正しい順序でそれらを初期化します。
3。例外を処理する:猛攻撃の例外を処理するように各SDKを構成します。複数のSDKを使用している場合は、互いの例外処理を妨げることなく、協力するように設定されていることを確認してください。
4.徹底的にテスト:アプリを徹底的にテストして、すべてのクラッシュレポートSDKが期待どおりに機能し、競合を引き起こさないことを確認します。
要約すると、MVVMCrossで複数のクラッシュレポートSDKを使用することは技術的には可能ですが、特にiOSでは、慎重なセットアップとテストが必要です。 Androidでは、より簡単ですが、それでも初期化の順序に注意が必要です。
引用:[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/mvvvmcross-android-0-0-Q-Mainactivity-Exception-on-crash-on-setcontentview/59558389
[7] https://github.com/mvvmcross/mvvmcross/issues/4295
[8] https://help.instabug.com/en/articles/2102240-can-ise-ise-the-instabug-crash-crash-crash-reporting-in-parallel-with-other-crash-reporters
[9] https://www.appdome.com/how-to/mobile-app-security/mobile-data-encryption/appdome-integrates-rash-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-the-most-out-of-crash-reports-with-lldb