Android Crashlytics Ekleme

Merhaba Arkadaşlar,
mobilhanem.com sitemiz üzerinden anlattığımız/yayınladığımız derslerimize Android Crashlytics ekleme ile devam edeceğiz. Özellikle mobil uygulama geliştirme yapan arkadaşlar için çok ama çok faydalı olan bu tool’un ne işe yaradığını kısaca şöyle anlatabiliriz:

Uygulamanızı geliştirdiniz ve Google Play Store‘a koydunuz. Uygulama geliştirirken uygulama crash olduğunda LogCat üzerinden crash sebebine bakabiliyorsunuz. Ancak uygulamanız store’a çıktığında artık crash sebeblerini incileyemiyorsunuz(Google Play Developer hesabından eğer kullanıcı crash’i göndermiş ise görebilirsiniz). İşte burda yardımımıza Twitter‘ın bir ürünü olan Crashlytics yetişiyor. Crash olduğu an crash’in hangi marka telefondan , hangi işletim sürümünden ,crash anında kaç mb boş alan olduğundan ,şarjın yüzde kaç olduğuna kadar birçok faydalı bilgiyi kendi paneli üzerinden görmemizi ve analiz etmemizi yarayan bence mükemmel bir tooldur ve yazdığımız her uyulamamıza eklememiz gerekir. İsteğe göre crash olduğu an mail ile bildirimde bulunmaktadır.

Gelelim uygulamamıza nasıl ekliyeceğimize. Öncelikle https://get.fabric.io/ adresinden hesap oluşturuyoruz. “Get Started with Fabric” butonuna tıklayarak Adımız soyadımız,email adresimiz ve şifremizi belirleyerek Send Confirmation butonuna basıyoruz.

Fabric crashlytics hesabı

Sonrasında mail adresimize gelen doğrulama maili’nde Confirm butonuna tıklayarak doğrulama işlemlerini bitiriyoruz. Sonrasında ise oluşturacağımız projenin adını veriyor ve Next butonu ile devam ediyoruz.

Bu aşamada karşımıza projemizin hangi platformda yazılacağı seçimi geliyor.crashlytics android

Android ikonunu seçip işlemlerimize devam ediyoruz. Karşımıza çıkan sayfada bize Android Studio’ya Fabric eklentisi nasıl kurulur onu anlatmaktadır. Kütüphanenin kendisi Fabric adıyla adlandırılmaktadır. Crashlytics ise hizmetlerinden biridir. Crashlytics’ten baska hizmetlerde mevcuttur ancak en popüleri ve bizim bugün anlattığımız Crashlytics olandır.

Android Studio‘yu açıyoruz ve fabric eklentisini kuruyoruz.

OSX için :

Preferences -> Plugins -> Browse Repesitory -> Fabric yazıp arıyoruz ve Install Plugin deyip plugini kuruyoruz.

Windows için :

File -> Settings -> Plugins sağ taraftaki arama kısmına Fabric yazıp Browse’ a tıklıyoruz.Açılan sayfada Install Plugin deyip plugin’i kuruyoruz.

Kurduktan sonra Android Studio’yu restart ediyoruz. Tekrar açtığımızda ise Fabric’in simgesi Android Studio Toolbar ‘da gözükür halde olacaktır.

Android Studio Fabric Plugin

Fabric ikonuna tıkladıktan sonra login işlemleri için oluşturduğumuz hesap bilgisini kullanarak pluginden Fabric hesabımıza login oluyoruz.

Fabric Plugin Login

Karşımıza oluşturduğumuz proje adı geliyor ve 0 apps olarak gözüküyor. Next diyoruz ve karşımıza çıkan sayfada Fabric’in ürün listesini görüyoruz.

Fabric Crashlytics

Buradan Crashlytics’i seçip install’a tıklıyoruz. Accept Terms‘e tıklayıp sözleşmeyi kabul ettikten sonra karşımıza çıkan bu sayfadan Apply diyerek projemizde yapacağı değişikliklere izin veriyoruz. Kendisi gerekli yerlere gerekli kodları ekledi.
NOT: Yukarıda belirttiğim gibi biz herhangi bir kod eklemesi yapmıyoruz. Plugin kendisi bizim kodumuza gerekli yerlere gerekli kodları ekliyor ve bizim işimizi çok kolaylaştırıyor. Apply butonuna basmadan önce hangi dosyamıza hangi kodu ekleyeceğini gösteriyor. Buradan inceleyebilirsiniz.
Crashlytics ekleme

Bu ekranı gördükten sonra uygulamamızı normal bir şekilde Run ediyoruz. Run işlemi sonunda bize Fabric’ten mail geliyor ve işlemimizin başarıyla gerçekleştiği bilgisini iletiyor.

Evet ekleme işlemini bitirdik. Ama test etmemiz gerekir. Bunuda düşünmüş Crashlytics ekibi ve bu aşağıdaki bu kodu bir buton ile çalıştırmamızı istiyor.

herhangi bir layout’a aşağıdaki şekilde buton ekleyin.

    <Button
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="Force Crash!"
        android:onClick="forceCrash"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />

ve ilgili activity’sine aşağıdaki kodu ekleyin.

    public void forceCrash(View view) {
        throw new RuntimeException("This is a crash");
    }

Sonrasında tekrar Run edip eklediğiniz Buton’a tıklayın. Bu işlemleri yaptıktan sonra uygulamamız Crash olacaktır. Crash olduktan sonra tekrar Fabric.io sitesine girip login işlemimizi gerçekleştirdikten sonra oluşturduğumuz uygulamanın otomatik olarak eklendiğini göreceğiz. Uygulamayı seçip oluşan Crash’leri incelemeye başlayabiliriz.

Bu sistemin nasıl çalıştığını kısaca ve basit bir şekilde anlatmak isterim. Android uygulamamız çalışırken herhangi bir hata ile karşılaşırsa Exception(hata) fırlatır. Bu Java’dan gelen bir özelliktir. Biz fırlatılan bu exception’ı yakalayıp farklı işlemler yapabiliriz. Try-catch-finally bloğu kullanarak veya daha custom işlemlerle hatayı handle edebiliriz(yakalayabiliriz). Mesala hata oluştuğunda Ana Sayfa’ya geri dön vs gibi önlemler alabiliriz. Ancak hata uygulama içinde yakalanamazsa normal şartlarda uygulama Android tarafından kapatılıyor ve kullanıcıya uygulamanın kapatıldığı uyarısını veriyor.Yani hatayı Android işletim sistemi yakalıyor ve uygulamamızı kapatıyor.

İşte fırlatılan hata eklediğimiz Crashlytics kütüphanesi sayesinde Android işletim sistemine ulaşmadan Crashlytics tarafından yakalanıyor ve hatayı Android işletim sistemine gönderip uygulamayı kapattırmadan önce kendisi Fabric sunucularına bu hatayı ve yanında cihaz hakkında bilgileri göndermektedir. Sonrasında ise hatayı bırakıp Android İşletim sistemine ulaşıp normal akışa devam etmesini sağlar.Tabiki burası biraz daha custom kısım. Bilmek zorunda değilsiniz ancak nasıl çalıştığı hakkında bilgi sahibi olmanız her zaman faydalı olacaktır.

Mobilhanem.com sitemizden anlattığımız derslere Android Crashlytics ekleme ile devam ettik. Bir sonraki yazımda iOS uygulamamıza nasıl Crashlytics eklenir anlatmaya çalışacağım. Konu hakkında aklınıza takılan her türlü soru ve görüşlerinizi yorum olarak bırakabilirsiniz. Konu dışındaki sorularınızı ise Soru Cevap sitemizden sorabilirsiniz.

Bir dahaki dersimde görüşmek dileğiyle..

0

Taha Kırca

iOS & Android & Apple Watch Developer, Mobilhanem.com yazarı, Karadeniz Uşağu, Ordu Sevdalısı

6 Yorum

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?