AGC -Crash Servisi (Android)
Herkese merhaba, bu yazımda AppGallery Connect hizmetlerinden biri olan Crash hizmetlerinden bahsedeceğim.
Crash hizmeti nedir?
AppGallery Connect’in çökme hizmeti otomatik olarak çöktüğünü bildirmekte ve çökme hizmetini entegre ettikten sonra çökme analizine izin vermektedir, uygulamanız çökmeleri otomatik olarak AppGallery Connect’e raporlayarak gerçek zamanlı olarak çökme raporları oluşturacaktır. Raporlarda sağlanan bol miktarda bilgi, çökmeleri bulmanıza ve çözmenize yardımcı olacaktır.
Neden Crash servisine ihtiyaç duyarız ?
Uygulamalar, geniş kullanıcı tabanı, farklı cihaz modellerini ve karmaşık ağ ortamını göz önünde bulundurarak piyasaya sürülmeden önce testleri tamamlamış olsa da uygulamaların ara sıra çökmesi kaçınılmazdır. Crash’lar kullanıcı deneyimini tehlikeye atar, Kullanıcılar çökmeler nedeniyle uygulamanızı kaldırabilir ve uygulamanız iyi feedback almama ihtimli artacaktır.
Crash’ları bulmak için incelemelerden yeterli crash bilgisi alamazsınız, bu nedenle bunları kısa sürede çözemezsiniz. Bu, işinize ciddi şekilde zarar verecektir. Bu nedenle, daha verimli olmak için uygulamalarımızdaki crash hizmetlerini kullanmamız gerekiyor.
Crash hizmetini nasıl entegre edebiliriz?
Çok basit ! , yalnızca Crash SDK’yı uygulamanıza entegre etmeniz gerekir. Daha sonra SDK, herhangi bir kodlama yapmadan ilgili işlevleri uygulayabilir. Size ilerleyen bölümde SDK’nın nasıl uygulanacağını anlatacağım.
Crash Hizmetine Başlarken
Kendi uygulamanıza entegre etmek için ihtiyaç duyduğunuz bazı prosedürler vardır. İşte aşağıdaki adımlar, bunun içindir;
1-AppGallery Connect SDK’sını entegre etme
SDK’yı AppGallery Connect’e nasıl entegre edeceğinizle ilgili gerekli tüm bilgileri bulacaksınız.
2-HUAWEI Analiz Kit’ini Etkinleştirme
Crash hizmeti, kilitlenme olaylarını bildirirken HUAWEI Analytics Kit’in özelliklerini kullanır. Bu nedenle, Crash SDK’yı entegre etmeden önce HUAWEI Analytics Kit’i etkinleştirmeniz gerekir. Ayrıntılar için lütfen Servis Etkinleştirme bölümüne bakın.
3-HUAWEI Analiz Kit’ini Entegre etme
HUAWEI Analytics Kit’i kullanmadan önce, aşağıdaki kodu uygulama düzeyindeki build.gradle dosyasına (genellikle app dizininde) ekleyerek entegre etmeniz gerekir:
4-Crash SDK’yı Entegre Etme
Crash SDK’yı entegre etmek için aşağıdaki kodu uygulama düzeyinde build.gradle dosyasına (genellikle app dizininde) ekleyin:
Bu adımları uyguladıktan sonra, projenizin güncellenmiş sürümüyle yeniden oluşturmak için sağ üstteki “Sync Now” düğmesine tıklamayı unutmayın.
AndroidManifest İzni
Ayrıca, aşağıdaki izin komutlarını Androidmanifest.xml dosyanıza eklemeniz gerekir.
Kod Geliştirme Bölümü
MainActivity.java’da parça parça kod bloklarını görebilirsiniz.
MakeCrash düğmesine dokunulduğunda bir kilitlenmeyi tetiklemek için AGConnectCrash.testIt yöntemini çağırmak için aşağıdaki kodu ekleyin.
CrashCollectionON düğmesine dokunulduğunda kilitlenme verisi raporlamasını etkinleştirmek için AGConnectCrash.enableCrashCollection yöntemini çağırmak için aşağıdaki kodu ekleyin.
CrashCollectionOFF düğmesine dokunulduğunda kilitlenme verisi raporlamasını devre dışı bırakma kodunu ekleyin.
Özel bir kullanıcı kimliği tanımlamak için AGConnectCrash.setUserId, özel günlükleri kaydetmek için AGConnectCrash.log çağırma ve CustomReport düğmesine dokunulduğunda özel bir key-value çifti tanımlamak için AGConnectCrash.setCustomKey’i çağırma kodunu ekleyin.
MainActivity.xml içinde yer alan aşağıdaki tüm kod parçacıgı , uygulama arayüzünü oluşturur.
Kendi projeniz üzerinde xml kodlarını ekledikten sonra göreceğiniz uygulama arayüzü aşağıdaki gibidir.
Artık, kod geliştirme bölümünü tamamlamş bulunmaktayız. Sonraki adım, projenizi gerçekleştirdikten sonra AppGallery Connect’te sonuçları izlemek ve analiz etmek olacak.
AppGallery Connect üzerinde Crash Hizmetini Etkinleştirme
AppGallery Connect’i imzaladıktan sonra, ilk kez kullanacaksanız, çökme hizmetini etkinleştirmek için bu adımları izlemeniz gerekir.
My project →Project Settings → Quality → Enable Now
Varolan Crash’ları nasıl çözümleyebiliriz?
AppGallery Connect’te oturum açarak, kilitlenme sayısı, etkilenen kullanıcı sayısı ve kilitlenme oranı gibi kilitlenme göstergelerini kontrol edebilirsiniz. Çözmek istediğiniz kilitlenmeyi bulmak için tarihi saate, işletim sistemine, uygulama sürümüne, cihaz türüne ve diğer kriterlere göre filtreleyebilirsiniz. Ek olarak, çökmenin ayrıntılarını kontrol edebilir, buna göre çökmeyi bulabilir veya doğrudan çökme yığınına göre çökmenin meydana geldiği koda gidebilir ve çökmeyi çözebilirsiniz.
Crash Notification nedir?
Crash notification hizmeti, uygulamanızı çökmelere karşı gerçek zamanlı olarak izleyecektir. Kritik bir kilitlenme meydana geldiğinde, bildirim işlevini etkinleştirdiyseniz, e-posta bildirimleri alırsınız, böylece bunları hemen çözebilirsiniz.
Crash Notification Nasıl Etkinleştirilir ?
Crash bildirimlerini etkinleştirmek için lütfen aşağıdaki adımları izleyin.
1. AppGallery Connect’te oturum açın ve Users and permissions’i seçin.
2. Go to User →Personal information.
3. Bildirim alanında, Crash bildirimi için E-posta ve SMS mesajı altındaki onay kutularını seçin (Büyük bir çökme durumunda beni bilgilendir) ve Kaydet’i tıklayın.
Crash Hizmeti Test Sonucunu İzleme ve Analiz Etme
Yapılandırma sürecini tamamladıktan sonra, crash hizmetlerinizin sonuçlarını görebilirsiniz.
“Statistics” sekmesinde, çökme hakkında bazı çıktılar bulacaksınız aşağıdaki gibi;
- App crashed times,
- Crash Rate,
- Affected Users,
- In time type
Ek olarak, sol üstte “Add Filter” i seçebilir ve sonucu şu filtrelemelere göre kontrol edebilirsiniz;
- Operating System
- App version,
- Device
Ancak “Set crash notification” seçeneğine tıklayarak threshold özelleştirebilirsiniz.
Ayrıca, tüm kilitlenme sonuçlarını .csv formatında doğrulamak için “Download Report” a tıklayarak raporu indirebilirsiniz.
”Problems ” sekmesinde, kilitlenmenin ana sorununun nedenini görüntüleyebilirsiniz.
katkı olarak, kontrol edebilir;
- Event Type,
- Event,
- Affected User,
- Last occurence time.
Burada problemin adı olan “java.lang.NullPointerException” üzerine tıkladıktan sonra detaylı olarak inceleme şansı elde edeceksiniz.
Aşağıdaki tabloda kontrol etmeniz gereken bilgiler olacak;
- Stack,
- Logs,
- Status,
- Information.
Şimdi yukarıdaki konuları açıklayacağız, bundan sonra “Search by User” sekmesine geçeceğiz.
“Logs” sekmesinde,günlüklere göre filtreleyerek şu kriterlere göre göz atabilirsiniz.
- All
- Debug,
- Info,
- Warning
- Error
Ayrıca“Enter a keyword” kutucuğu ile arama yapabilirsiniz.
“Status” sekmesinde, bir çökmenin meydana geldiği uygulama durumunu almak için durumu kaydetmek üzere özel bir key/value çifti ekleyebilirsiniz. Aslında burada, çökme meydana gelmesi için yarattığınız kendi özel değerlerinizi inceleyeceksiniz.
“Information” sekmesinde, aşağıdakilerle ilgili bilgilere göz atmış olacaksınız;
- App
- Operating System
- Device
“Search by user” sekmesinde, çökmelerle ilgili bazı çıktılar bulacaksınız;
- Occuring time,
- User ID,
- Event type,
- Problems
Bir Crash Raporunu Özelleştirme
İsterseniz bu kırmızı işaretli alan parametrelerini özelleştirerek kendi çarpışma raporunuzu oluşturabilirsiniz, böylelikle analiziniz daha verimli ve anlaşılır olacaktır.
SSS
S: Tüm kilitlenme raporlarını AppGallery Connect’ten dışa aktarabilir miyim?
C: Elbette, kendi AGC kilitlenme sayfanıza rapor .csv formatında indirebilirsiniz.
S: AGC aracılığıyla uygulamamın herhangi bir nedenle çöktüğünü görebilir miyim?
C: Evet, Sorunlar sekmesine tıklayarak, Yığın, Günlük, Durum ve Bilgi olarak adlandırılan 4 farklı sekme göreceksiniz, her sekme aradığınız şey hakkında size farklı bir çözüm verecektir.
S: Uygulamamda testi çalıştırdığımda kilitlenme raporunu neden hemen AGC’de göremiyorum? Görmek için herhangi bir süre var mı ve verilerin ne kadar süreyle saklanıyor?
C: Test raporunun size yansıması ortalama olarak en az 1 dakikadır ve bu veriler size saatlik, 24 saatlik ve 7 günlük, 30 günlük ve 90 günlük verilerin sonuçlarını sunar.
Crash Servis yazımın sonuna geldik, umarım bahsettiklerim size faydalı olur, bir sonraki yazımda görüşmek üzere, hepinize iyi günler dilerim …