Firebase Crashlytics'i kullanmaya başlayın

Bu hızlı başlangıç kılavuzunda, Firebase konsolunda kapsamlı kilitlenme raporları alabilmeniz için Firebase Crashlytics SDK ile uygulamanızda Firebase Crashlytics'i nasıl kuracağı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'in kurulumu, hem Firebase konsolunda hem de IDE'nizde görevler (Firebase yapılandırma dosyası ve Crashlytics SDK ekleme gibi) gerektirir. Kurulumu tamamlamak için ilk kilitlenme raporunuzu Firebase'e göndermesi için bir test kilitlenmesini zorunlu kılmanız gerekir.

Başlamadan önce

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

  2. Önerilen: Kilitlenme, önemli olmayan veya ANR etkinliğiyle sonuçlanan kullanıcı işlemlerini anlamak için içerik haritası günlüklerini otomatik olarak almak için Firebase projenizde Google Analytics'i etkinleştirmeniz gerekir.

    • Mevcut Firebase projenizde Google Analytics etkin değilse Firebase konsolunda > Proje ayarları'nın Entegrasyonlar sekmesinden Google Analytics'i etkinleştirebilirsiniz.

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

  3. Uygulamanızın aşağıdaki minimum gerekli 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'yı uygulamanıza ekleyin

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

İçerik haritası günlüklerinden yararlanmak amacıyla 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.1.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 her zaman uyumlu sürümlerini kullanır.

(Alternatif) BoM'u kullanmadan Firebase kitaplığı bağımlılıklarını ekleme

Firebase BoM'yi kullanmamayı seçerseniz her Firebase kitaplığı 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. Böylece tüm sürümlerin uyumlu olması sağlanır.

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.0.1")
    implementation("com.google.firebase:firebase-analytics:22.0.1")
}
Kotlin'e özel 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üne bağlı olabilir (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.1" 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.1' apply false
    }
    
  2. Modülünüze (uygulama düzeyinde) 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'in kurulumunu tamamlamak ve Firebase konsolunun Crashlytics kontrol panelinde ilk verileri görmek için test kilitlenmesini zorunlu kılmanız gerekir.

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

    Uygulamanıza basıldığında kilitlenmeye neden olan bir düğme eklemek için uygulamanızın MainActivity bölümünde aşağıdaki kodu kullanabilirsiniz. Düğmede "Kilitlenmeyi Test Et" etiketi bulunuyor.

    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. Test cihazınızdan veya emülatörünüzden uygulamanızı açın.

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

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

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

    Konsolu yenilediyseniz ve beş dakika geçmesine rağmen test kilitlenmesini hâlâ görmüyorsanız uygulamanızın kilitlenme raporları 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 kilitlenmeler, önemli olmayan hatalar ve ANR'ler için uygulamanızı izliyor. Tüm raporlarınızı ve istatistiklerinizi görüntüleyip incelemek için Crashlytics kontrol panelini ziyaret edin.

Sonraki adımlar

  • Google Play ile entegre ederek Android uygulamanızın kilitlenme raporlarını doğrudan Crashlytics kontrol panelinde Google Play kanalına göre filtreleyebilirsiniz. Bu sayede kontrol panelinizde belirli derlemelere daha iyi odaklanabilirsiniz.
  • 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 sık karşılaşılan sorunlarda hata ayıklamaya başlamak için Crashlytics kontrol paneli ve IDE arasında geçiş yapmanız gerekmez.
    • Android Studio'nun Electric Eel sürümündeki (kararlı) HKİ penceresine erişebilir veya Flamingo'daki (beta) yeni HKİ özelliklerini deneyebilirsiniz. İstediğiniz Android Studio sürümünü indirin.
    • Android Studio dokümanlarından HKİ penceresinin nasıl kullanılacağını öğrenin.
    • Görüşlerinizi öğrenmekten memnuniyet duyarız. Hata raporu doldurarak HKİ penceresi hakkında bize geri bildirim gönderin.