Bu yazıda Google’ın ürünü olan Firebase’in hata yakalama özelliği olan “Crashlytics” raporlarından ve bu raporları görebilmemiz için yapmamız gereken kurulumundan bahsedeceğim.

 

Bir uygulama geliştirdiniz ve bunu Google Play Store’a veya App Store’a koydunuz. Uygulamayı geliştirirken hatalarımızı IDE (Android Studio, Xcode vs…) yardımıyla görmekteyiz fakat son kullanıcı “Acaba uygulamada hata alınıyor mu?”, “Nerelerde hata alınıyor?”, “Ne hatası alınıyor?” gibi soruların cevabını doğrudan bulamıyoruz.

Tam burada yardımımıza Firebase koşuyor. Firebase’in sunduğu “Crashlytics” özelliği sayesinde bütün bu soruların cevabını almaktayız.

Crashlytics sayesinde;

 

  • Hata trendlerini,
  • Hata almayan kullanıcı oranımızı,
  • Hatanın hangi telefondan alındığını,
  • Hata alınan telefonun hangi işletim sistemini kullandığını,
  • Hata anında ne kadar boş alanının olduğunu,
  • Hata anında ne kadar ram’in boşta olduğunu görebiliriz.

Bu özelliği kullanabilmek için öncelikli olarak Firebase’in, uygulamamızda kurulu olması gerekiyor. Sonra uygulama içinden yapacağımız birkaç ufak ayar ile Crash Reporting kısmını kullanmaya başlayabiliriz.

Arayüz tanıtımı ile başlayalım; öncelikle Firebase Console’unu açıyoruz. Sol tarafta bulunan menülerden Quality altındaki Crashlytics kısmına tıklamamız yeterli olacaktır.

 

Karşımıza yukarıdaki gibi bir arayüz çıkacak. Burada 1 numaralı tabloda hata almamış kullanıcıların tüm kullanıcılara oranını, 2 numaralı tabloda hata trendini, 3 numaralı tabloda hataların kodda nerelerde gerçekleştiğini görebiliyoruz. Burda 3 numaralı kısmında bulunan hataya tıkladığımızda bize hata ile ilgili daha detaylı bilgi vermektedir.

 

Soldaki tabloda versiyonlara göre hata trendini görüyoruz; sağdaki tabloda ise Cihazlar, İşletim Sistemini ve Cihaz Durumunu görebiliyoruz. Bunların hemen üstünde görmek istediğimiz tarihi ayarlayabiliyoruz.

 

Bu ekranda ise hatanın türünü, hangi satırda, hangi cihazda ve hangi tarih hangi saatte gerçekleştiğini görebiliriz.

Peki bu özelliği uygulamama nasıl kurarım sorusunu soruyorsanız yazının devamında bulunan adımları izleyerek kolayca kurulumunu yapabilirsiniz.

 

Firebase Crash Reporting Kurulumu

Bu kısımda Firebase Crashlytics arayüzünü kullanabilmek için Crash Reporting kurulumu yapılmaktadır. Bu özelliği kullanabilmek için Firebase kurulumunun yapılmış olması gerekmektedir. Eğer Firebase kurulumunuzda eksik var ise buradan Firebase kurulumunuzu tamamlayabilirsiniz.

Daha sonra Proje seviyesindeki Gradle’da, aşağıdaki kodlardan eksik olanlar varsa ekliyoruz.

 

buildscript {
  repositories {
     // Add Google’s Maven repository.
     google()     maven {
        url ‘https://maven.fabric.io/public’
     }
  }  dependencies {
     // Add the Google Services plugin (check for v3.1.2 or higher).
     classpath ‘com.google.gms:google-services:4.3.3’     // Add the Fabric Crashlytics plugin.
     classpath ‘io.fabric.tools:gradle:1.31.2’
  }
}allprojects {
  repositories {
     // Check that Google’s Maven repository is included (if not, add it).
     google()
  }
}

App seviyesindeki Gradle’a aşağıdaki kodlardan eksik olanları ekliyoruz.

 

apply plugin: ‘com.android.application’
apply plugin: ‘com.google.gms.google-services’
// Add the Fabric plugin.
apply plugin: ‘io.fabric’dependencies {
   // (Recommended) Add the Google Analytics dependency.
   implementation ‘com.google.firebase:firebase-analytics:17.2.1’   // Add the Firebase Crashlytics dependency.
   implementation ‘com.crashlytics.sdk.android:crashlytics:2.10.1’
}

Crashlytics arayüzüne girebilmemiz için uygulamamızı bir kere çalıştırmak yeterli olacaktır. Arayüz aşağıdaki gibidir.

 

Bu kısım nasıl çalıştığını görmek için opsiyoneldir. Firebase arayüzünde hata görebilmek için kendimiz uygulama içerisinde hata kodu yazacağız. Bunun için aşağıdaki kodu OnCreate( ) metodu içerisinde yazmamız yeterli olacaktır.

Crashlytics.getInstance().crash();

Bir sonraki yazıda görüşmek dileğiyle …

 

via GIPHY

0

Leave a Reply

Hype

Esentepe Mahallesi
Ecza Sokak 6/1
Levent, İstanbul

+90 (532) 744 4943
[email protected]