Crashlytics kontrol panelinde okunabilir kilitlenme raporları alma (Flutter)

Platform seçin: iOS+ Android Flutter Unity


Varsayılan olarak Firebase Crashlytics, kilitlenme raporlarının karartmasının kaldırılmasını ve raporların okunabilir 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.

    run script'in mevcut olmaması veya mevcut olması durumunda 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şaretini (isteğe bağlı olarak --obfuscate işaretini de) kullanıyorsanız 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şaretini (isteğe bağlı olarak --obfuscate işaretini de) kullanıyorsanız 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 bildirmeden ö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 sorunları giderme kılavuzuna bakın.