MVVMCross ile aynı anda SDK'ları aynı anda kullanan SDK'ları kullanmak karmaşık olabilir ve özellikle iOS'ta her zaman önerilmeyebilir. İşte ayrıntılı bir bakış:
Genel Hususlar
1. iOS sınırlamaları: iOS'ta, birden fazla çarpışma raporlaması SDK'ları kullanma genellikle önerilmez. Bunun nedeni, iOS'un istisnaları ve sinyalleri, tüm kaza muhabirlerinin tüm istisnaları ve sinyalleri yakalayacağını garanti etmeyecek şekilde ele almasıdır ve potansiyel olarak kaçırılan kazalara yol açar [8]. Bununla birlikte, bazı geliştiriciler TestFlight ve Crashlytics gibi birden fazla kaza muhabirini başarıyla kullandılar, ancak bu dikkatli bir kurulum gerektiriyor [4].
2. Android esnekliği: Android'de, SDK'ları aynı anda birden fazla çarpışma raporlaması kullanılması daha uygundur. Bununla birlikte, çatışmaları önlemek için her SDK'nın doğru sırada başlatılmasını sağlamak çok önemlidir. Örneğin, Instabug diğer kaza muhabirlerinden sonra başlatılmalıdır [8].
mvvmcross entegrasyonu
Kaza raporlama SDK'larını MVVMCross ile entegre ederken, her SDK'nın korunmayan istisnaları nasıl ele aldığını ve MVVMCross çerçevesiyle nasıl etkileşime girdiklerini düşünmeniz gerekir.
- İstisna İşleme: MVVMCross'un kendisi yerleşik çarpışma raporlaması sağlamaz. Üçüncü taraf bir SDK'yı entegre etmeniz gerekecektir. Birden fazla SDK kullanırken, istisnaları birbirine müdahale etmeden doğru şekilde işleyecek şekilde yapılandırıldığından emin olun.
- Çekirdek Proje Kurulumu: MVVMCross Core projenizde, genellikle çarpışma raporlarını doğrudan işleyemezsiniz. Bunun yerine, çarpışma raporlarını platforma özgü projelere (örneğin iOS ve Android) entegre edersiniz. Ancak, platformlar arasında tutarlılık için temel projede hata işleme mantığını merkezileştirmek isteyebilirsiniz.
SDK Seçenekleri Raporlama
MVVMCross ile birkaç çarpışma raporlama SDK kullanılabilir:
- Uygulama Merkezi: Hem iOS hem de Android için kapsamlı çarpışma raporlaması ve analiz sağlar. Xamarin ve MVVMCross projeleriyle entegre etmek kolaydır [5].
- Yeni Kalıntı: Güçlü kaza raporlama ve performans izleme sunar. Android'i destekler ve diğer çarpışma raporlama çerçeveleriyle birlikte çalışabilir [2] [10].
- Instabug: Ayrıntılı çarpışma raporları ve kullanıcı geri bildirim araçları sağlar. Hem iOS hem de Android'de kullanılabilir, ancak iOS üzerindeki belirtilen sınırlamalarla [8].
Uygulama Adımları
MVVMCross ile SDK'ları birden fazla çarpışma raporlama uygulamak için:
1. SDK'ları seçin: Platformunuza ve özellik gereksinimlerinize göre kullanmak istediğiniz SDK'ları seçin.
2. SDK'ları başlatın: Platforma özgü projelerde her SDK'nın doğru şekilde başlatıldığından emin olun. Android'de, çatışmaları önlemek için bunları doğru sırayla başlatın.
3. İstisnaları ele alın: Her SDK'yı, alınmayan istisnaları işleyecek şekilde yapılandırın. Birden fazla SDK kullanıyorsanız, birbirlerinin istisna işlemesine müdahale etmeden birlikte çalışacak şekilde ayarlandığından emin olun.
4. İyice test edin: Tüm çarpışma raporlama SDK'larının beklendiği gibi çalıştığından ve herhangi bir çatışmaya neden olmadığından emin olmak için uygulamanızı iyice test edin.
Özetle, MVVMCross ile birden fazla çarpışma raporlama SDK'ını kullanmak teknik olarak mümkün olsa da, özellikle iOS'ta dikkatli kurulum ve test gerektirir. Android'de daha basit ama yine de başlatma düzenine dikkat gerektiriyor.
Alıntılar:[1] https://stackoverflow.com/questions/19464339/xamarin-mvmcross-and-crashreporting
[2] https://docs.newrelic.com/docs/mobile-monitoring/new-ric-mobile-android/install-configure/android-agent-crash-porting/
[3] https://www.mvvmcross.com/documentation/adved/mvxnotifytask
[4] https://stackoverflow.com/questions/10755278/use-multiple-crash-reporter-on-os
[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-i UU-The-instabug-crash-reporting-tool-in-parallel-with-other-crash-reporers
[9] https://www.appdome.com/how-to-to/mobile-pecity/mobile-data-icryption/appdome-integrates-crash-reporting-sdk/
[10] https://docs.newrelic.com/docs/mobile-monitoring/new-ric-mobile-android/install-configure/android-agent-crash-reporting/
[11] https://support.google.com/googleplay/android-developer/answer/12246095?
[12] https://learn.microsoft.com/en-us/appcenter/sdk/crashes/android
[13] https://learn.microsoft.com/en-us/appcenter/sdk/trobeshooting/xamarin
[14] https://www.guardsquare.com/blog/making-the-mos-ut-ofios-crash-reports-with-lldb