Firebase Crashlytics'i kullanmaya başlayın


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

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

Başlamadan önce

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

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

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

    • Yeni bir Firebase projesi oluşturuyorsanız proje oluşturma iş akışı sırasında Google Analytics 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: Uygulamanıza Crashlytics SDK'sını ekleyin

<0x0<project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradleCrashlytics Kitaplık sürüm oluşturmayı kontrol etmek için Firebase Android BoM kullanmanızı öneririz.

İçerik haritası 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:34.0.0"))

    // Add the dependencies for the Crashlytics NDK and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-crashlytics-ndk")
    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)  Firebase kitaplığı bağımlılıklarını BoM kullanmadan ekleyin.

Firebase BoM kullanmamayı tercih ederseniz 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 sayede tüm sürümlerin uyumlu olması sağlanır.

dependencies {
    // Add the dependencies for the Crashlytics NDK and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-crashlytics-ndk:20.0.0")
    implementation("com.google.firebase:firebase-analytics:23.0.0")
}

2. adım: Uygulamanıza Crashlytics Gradle eklentisini ekleyin

  1. Kök düzeyindeki (proje düzeyindeki) 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.3" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.5" 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.3' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.5' apply false
    }
  2. Modül (uygulama düzeyi) Gradle dosyanızda (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 testin kilitlenmesini zorlayın

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

  1. Uygulamanıza, test sırasında kilitlenmeyi zorlamak için kullanabileceğiniz bir kod ekleyin.

    Uygulamanızın MainActivity bölümünde aşağıdaki kodu kullanarak uygulamanıza, basıldığında kilitlenmeye neden olan bir düğme ekleyebilirsiniz. Düğmenin etiketi "Test Crash"tir.

    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 zorlayın:

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

    2. Uygulamanızda, yukarıdaki kodu kullanarak eklediğiniz "Test Crash" (Test Kilitlenmesi) düğmesine basın.

    3. Uygulamanız çöktükten sonra, kilitlenme raporunu Firebase'e gönderebilmesi için uygulamayı yeniden başlatın.

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

    Konsolu yenilemenize rağmen beş dakika sonra hâlâ test kilitlenmesini görmüyorsanız uygulamanızın kilitlenme raporları gönderip göndermediğini görmek için hata ayıklama günlüğünü etkinleştirin.


Hepsi bu kadar. Crashlytics artık uygulamanızda kilitlenmeleri, önemsiz hataları ve ANR'leri izliyor. Tüm raporlarınızı ve istatistiklerinizi görüntülemek ve incelemek için Crashlytics kontrol panelini ziyaret edin.

Sonraki adımlar

  • Kilitlenme raporu kurulumunuzu özelleştirin (isteğe bağlı raporlama, günlükler, anahtarlar ve önemli olmayan hataların izlenmesi ekleyerek).
  • Android uygulamanızın kilitlenme raporlarını doğrudan Crashlytics kontrol panelinde Google Play kanalıyla 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 (AQI) penceresini kullanarak Crashlytics verilerini kodunuzla birlikte görüntüleyin. En önemli sorunlarda hata ayıklamaya başlamak için Crashlytics kontrol paneli ile IDE arasında geçiş yapmanız gerekmez.
    • Android Studio dokümanlarından AQI penceresini nasıl kullanacağınızı öğrenin.
    • Düşüncelerinizi öğrenmekten memnuniyet duyarız. Hata raporu göndererek HKİ penceresiyle ilgili geri bildirimde bulunun.