Firebase Crashlytics'i kullanmaya başlayın


Bu hızlı başlangıç kılavuzunda, Firebase konsolunda kapsamlı kilitlenme raporları alabilmek için uygulamanızda Firebase Crashlytics SDK'sı ile Firebase Crashlytics'ü nasıl ayarlayacağınız açıklanmaktadır. Android için Crashlytics ile kilitlenmeler, önemli olmayan hatalar ve "Uygulama Yanıt Vermiyor" (ANR) hataları hakkında raporlar alırsınız.

Crashlytics kurulumu için hem Firebase konsolunda hem de IDE'nizde görevler (Firebase yapılandırma dosyası ve Crashlytics SDK ekleme gibi) gerekir. Kurulumu tamamlamak için ilk kilitlenme raporunuzu Firebase'e göndermek üzere test kilitlenmesini zorlamanız gerekir.

Başlamadan önce

  1. Henüz yapmadıysanız Android projenize Firebase'i ekleyin. Android uygulamanız yoksa örnek uygulama indirebilirsiniz.

  2. Önerilir: Kilitlenme, ölümcül olmayan veya ANR etkinliğine yol açan kullanıcı işlemlerini anlamak için ekmek kırıntıları günlüklerini otomatik olarak almak istiyorsanız Firebase projenizde Google Analytics'i etkinleştirmeniz gerekir.

    • Mevcut Firebase projenizde Google Analytics etkin değilse Firebase konsolunda > Proje ayarları bölümündeki Entegrasyonlar sekmesinden Google Analytics'ü etkinleştirebilirsiniz.

    • Yeni bir Firebase projesi oluşturuyorsanız proje oluşturma iş akışı sırasında Google Analytics politikasını etkinleştirin.

  3. Uygulamanızın aşağıdaki minimum sürümlere sahip olduğundan emin olun:

    • Gradle 8.0
    • Android Gradle eklentisi 8.1.0
    • Google hizmetleri Gradle eklentisi 4.4.1

1. Adım: Crashlytics SDK'sını uygulamanıza ekleyin

<project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradleCrashlytics Kitaplık sürümlendirmesini kontrol etmek için Firebase Android BoM simgesini kullanmanızı öneririz.

Breadcrumb günlüklerinden yararlanmak için uygulamanıza Google Analytics için Firebase SDK'sını da ekleyin. Firebase projenizde Google Analytics'in etkinleştirildiğinden emin olun.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.6.0"))

    // Add the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-crashlytics")
    implementation("com.google.firebase:firebase-analytics")
}

Firebase Android BoM kullanıldığında, uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.

(Alternatif) BoM

Firebase BoM kullanmamayı seçerseniz her Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.

Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM'ı kullanmanızı önemle tavsiye ederiz. Bu, tüm sürümlerin uyumlu olmasını sağlar.

dependencies {
    // Add the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-crashlytics:19.2.1")
    implementation("com.google.firebase:firebase-analytics:22.1.2")
}
Kotlin'e özgü bir kitaplık modülü mü arıyorsunuz? Ekim 2023'ten (Firebase BoM 32.5.0) itibaren hem Kotlin hem de Java geliştiricileri ana kitaplık modülünden yararlanabilir (ayrıntılar için bu girişimle ilgili SSS bölümüne bakın).

2. Adım: Crashlytics Gradle eklentisini uygulamanıza ekleyin

  1. Kök düzeyindeki (proje düzeyinde) Gradle dosyanızda (<project>/build.gradle.kts veya <project>/build.gradle), Crashlytics Gradle eklentisini plugins bloğuna ekleyin:

    Kotlin

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id("com.android.application") version "8.1.4" apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id("com.google.gms.google-services") version "4.4.2" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.2" apply false
    }

    Groovy

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id 'com.android.application' version '8.1.4' apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id 'com.google.gms.google-services' version '4.4.2' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.2' apply false
    }
  2. Modül (uygulama düzeyi) Gradle dosyanıza (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle) Crashlytics Gradle eklentisini ekleyin:

    Kotlin

    plugins {
      id("com.android.application")
      // ...
    
      // Make sure that you have the Google services Gradle plugin
      id("com.google.gms.google-services")
    
      // Add the Crashlytics Gradle plugin
      id("com.google.firebase.crashlytics")
    }

    Groovy

    plugins {
      id 'com.android.application'
      // ...
    
      // Make sure that you have the Google services Gradle plugin
      id 'com.google.gms.google-services'
    
      // Add the Crashlytics Gradle plugin
      id 'com.google.firebase.crashlytics'
    }

3. Adım: Kurulumu tamamlamak için test kilitlenmesini zorunlu kılın

Crashlytics kurulumunu tamamlamak ve Firebase konsolunun Crashlytics kontrol panelinde ilk verileri görmek için test kilitlenmesini zorunlu kılmanız gerekiyor.

  1. Uygulamanıza, test kilitlenmesini zorlamak için kullanabileceğiniz bir kod ekleyin.

    Uygulamanıza, basıldığında kilitlenme oluşturan bir düğme eklemek için uygulamanızın MainActivity bölümünde aşağıdaki kodu kullanabilirsiniz. Düğmenin etiketi "Test Kilitlenmesi"dir.

    Kotlin+KTX

    val crashButton = Button(this)
    crashButton.text = "Test Crash"
    crashButton.setOnClickListener {
       throw RuntimeException("Test Crash") // Force a crash
    }
    
    addContentView(crashButton, ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT))

    Java

    Button crashButton = new Button(this);
    crashButton.setText("Test Crash");
    crashButton.setOnClickListener(new View.OnClickListener() {
       public void onClick(View view) {
           throw new RuntimeException("Test Crash"); // Force a crash
       }
    });
    
    addContentView(crashButton, new ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT));
  2. Uygulamanızı derleyip çalıştırın.

  3. Uygulamanızın ilk kilitlenme raporunu göndermek için test kilitlenmesini zorunlu kılın:

    1. Uygulamanızı test cihazınızdan veya emülatörden açın.

    2. Uygulamanızda, yukarıdaki kodu kullanarak eklediğiniz "Kilitlenmeyi Test Et" düğmesine basın.

    3. Uygulamanız kilitlendikten sonra, kilitlenme raporunu Firebase'e gönderebilmesi için uygulamanızı yeniden başlatın.

  4. Test kilitlenmenizi görmek için Firebase konsolunun Crashlytics kontrol paneline gidin.

    Konsolu yeniledikten sonra beş dakika geçmesine rağmen testin kilitlendiğini görmüyorsanız uygulamanızın kilitlenme raporu gönderip göndermediğini görmek için hata ayıklama günlük kaydını etkinleştirin.


Hepsi bu kadar. Crashlytics artık uygulamanızı kilitlenmeler, önemli olmayan hatalar ve ANR'ler için izliyor. Tüm rapor ve istatistiklerinizi görüntülemek ve incelemek için Crashlytics kontrol panelini ziyaret edin.

Sonraki adımlar

  • Android uygulamanızın kilitlenme raporlarını doğrudan Crashlytics kontrol panelinde Google Play kanalına göre filtreleyebilmek için Google Play ile entegrasyon yapın. Bu sayede kontrol panelinizi belirli derlemelere daha iyi odaklayabilirsiniz.
  • Android Studio'da Crashlytics verilerini görüntüleyin ve filtreleyin.
    • Crashlytics verilerini kodunuzla birlikte görüntülemek için Android Studio'daki Uygulama Kalitesi Analizleri (HKİ) penceresini kullanın. En sık karşılaşılan sorunları ayıklamaya başlamak için Crashlytics kontrol paneli ile IDE (Entegre Geliştirme Ortamı) arasında geçiş yapmanız gerekmez.
    • Android Studio dokümanlarından HKİ penceresini nasıl kullanacağınızı öğrenin.
    • Görüşleriniz bizim için önemli. Hata raporu göndererek HKİ penceresi hakkında geri bildirim gönderin.