Crashlytics kontrol panelinde okunabilir kilitlenme raporları alma (Flutter)

Platform seçin: iOS+ Android Flutter Unity


Varsayılan olarak Firebase Crashlytics, kilitlenme raporlarının okunabilir hale getirilmesini ve anlaşılır olmasını sağlayan gerekli sembol dosyalarını yüklemek için Flutter projenizi otomatik olarak donatır.

Maalesef, projenin tam olarak yapılandırılmamasına neden olabilecek durumlar vardır. Bu kılavuzda, otomasyonun ne yaptığı özetlenmekte ve proje kurulumunuzda hata ayıklama için ilk adımlar sağlanmaktadır.

Apple platformları

dSYM dosyalarını yükleme yapılandırmanızı kontrol edin

Crashlytics Flutter eklentisini ekleyip flutterfire configure komutunu çalıştırdığınızda, projenizin Xcode çalışma alanına gerekli dSYM sembol dosyalarını bulup Crashlytics'ya yükleyen bir çalıştırma komut dosyası eklenmeye çalışılır. Bu dosyalar olmadan Crashlytics kontrol panelinde "Eksik dSYM" uyarısı görürsünüz ve eksik dosyalar yüklenene kadar istisnalar arka uçta tutulur.

Bu sorunla karşılaşıyorsanız öncelikle run script'in yüklü olduğundan emin olun:

  1. Projenizin iOS dizinindeki Xcode çalışma alanı dosyasını (FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace) bulun ve açın.

  2. [firebase_crashlytics] Crashlytics Upload Symbols adlı bir çalıştırma komut dosyasının, Runner hedefinin derleme aşamalarına eklenip eklenmediğini belirleyin.

    Çalıştırma komut dosyasının olmadığı veya çalıştırma komut dosyasının olduğu durumlar için aşağıdaki ilgili bölüme bakın.

Flutter ve Crashlytics için sürüm yapılandırmanızı kontrol edin (--split-debug-info işaretini kullanıyorsanız)

Flutter projenizde --split-debug-info işareti (ve isteğe bağlı olarak --obfuscate işareti) kullanılıyorsa uygulamanız için okunabilir yığın izlemeleri göstermek üzere ek adımlar uygulamanız gerekir.

Projenizin, Flutter sembollerini (dSYM dosyaları) otomatik olarak oluşturup Crashlytics'e yükleyebilmesi için önerilen sürüm yapılandırmasını (Flutter 3.12.0+ ve Crashlytics Flutter eklentisi 3.3.4+) kullandığından emin olun.

Android

Bağımlılık yapılandırmanızı kontrol edin

flutterfire configure komutu, projenizin Gradle derleme dosyalarına gerekli bağımlılıkları eklemeye çalışır. Bu bağımlılıklar olmadan, karartma etkinse Firebase konsolundaki kilitlenme raporları karartılmış olabilir.

Proje düzeyindeki build.gradle ve uygulama düzeyindeki build.gradle dosyalarında aşağıdaki satırların bulunduğundan emin olun:

  • Proje düzeyindeki derleme dosyasında (android/build.gradle) aşağıdaki satırın olup olmadığını kontrol edin:

    dependencies {
    // ... other dependencies
    
    classpath 'com.google.gms:google-services:4.3.5'
    classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
    }
  • Uygulama düzeyindeki derleme dosyasında (android/app/build.gradle) aşağıdaki satırın olup olmadığını kontrol edin:

    // ... other imports
    
    android {
    // ... your android config
    }
    
    dependencies {
    // ... your dependencies
    }
    
    // This section must appear at the bottom of the file
    apply plugin: 'com.google.gms.google-services'
    apply plugin: 'com.google.firebase.crashlytics'

Flutter sembollerini yüklemek için KSA'yı kullandığınızdan emin olun (--split-debug-info işaretini kullanıyorsanız).

Flutter projenizde --split-debug-info işareti (ve isteğe bağlı olarak --obfuscate işareti) kullanılıyorsa uygulamanız için okunabilir yığın izlemeleri göstermek üzere ek adımlar uygulamanız gerekir.

Flutter hata ayıklama sembollerini yüklemek için Firebase CLI'yı (v.11.9.0+) kullanın. Karartılmış kod derlemesinden kilitlenme raporu göndermeden önce hata ayıklama sembollerini yüklemeniz gerekir.

Flutter projenizin kök dizininden aşağıdaki komutu çalıştırın:

firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/symbols
  • FIREBASE_APP_ID: Firebase Android uygulama kimliğiniz (paket adınız değil)
    Firebase Android uygulama kimliği örneği: 1:567383003300:android:17104a2ced0c9b9b

  • PATH/TO/symbols: Uygulamayı oluştururken --split-debug-info işaretine ilettiğiniz dizinle aynı olmalıdır.

Sorunlar devam ederse Android'e özel, karartılmış raporlarla ilgili sorun giderme kılavuzuna bakın.