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'ü ayarlamak için hem Firebase konsolunda hem de IDE'nizde (ör. Firebase yapılandırma dosyası ve Crashlytics SDK'sı ekleme) görevler yapmanız gerekir. İlk kilitlenme raporunuzu Firebase'e göndermek için kurulumu tamamlamak ü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.7.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 Firebase Android kitaplıklarının daima 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.3.0")
    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üzeyindeki) Gradle dosyanıza (<project>/build.gradle.kts veya <project>/build.gradle) plugins bloğuna Crashlytics Gradle eklentisini 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 zorlama

Crashlytics'ü ayarlamayı tamamlamak ve Firebase konsolunun Crashlytics kontrol panelinde ilk verileri görmek için test kilitlenmesini zorlamanız gerekir.

  1. Uygulamanıza, test kilitlenmesini zorlamak için kullanabileceğiniz 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

    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 zorlama:

    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, uygulamanızı kilitlenmeler, önemli olmayan hatalar ve ANR'ler açısından izlemeye başladı. 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.
    • Android Studio'daki Uygulama Kalitesi Analizleri (HKİ) penceresini kullanarak Crashlytics verilerini kodunuzla birlikte görüntüleyebilirsiniz. En önemli sorunlarda hata ayıklama işlemine başlamak için Crashlytics kontrol paneli ile IDE arasında gidip gelmenize gerek yoktur.
    • Android Studio dokümanlarından HKİ penceresini nasıl kullanacağınızı öğrenin.
    • Düşüncelerinizi öğrenmekten memnuniyet duyarız. Hata raporu göndererek HKİ penceresi hakkında geri bildirim gönderin.