| Platform seçin: | iOS+ Android Web Flutter Unity |
Firebase Crashlytics, kilitlenme raporlarının kodunun çözülmesini ve okunabilir olmasını sağlayan gerekli sembol dosyalarını yüklemek için Flutter projenizi varsayılan olarak otomatik şekilde hazırlar.
Maalesef projenin tam olarak yapılandırılmamasıyla sonuçlanabilecek durumlar vardır. Bu kılavuzda, otomasyonun ne işe yaradığı açıklanmakta ve proje kurulumunuzda hata ayıklama için ilk adımlar sunulmaktadır.
Apple platformları
dSYM dosyalarını yüklemek için 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 platformuna 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ç tarafından tutulur.
Bu sorunla karşılaşırsanız öncelikle çalıştırma komut dosyasının yüklü olduğundan emin olun:
Projenizin iOS dizininde (
FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace) Xcode çalışma alanı dosyasını bulup açın.Runner hedefinin Derleme Aşamaları'na
[firebase_crashlytics] Crashlytics Upload Symbolsbaşlıklı bir çalıştırma komut dosyasının 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 projeniz --split-debug-info işaretini (ve isteğe bağlı olarak --obfuscate işaretini de) kullanıyorsa uygulamanız için okunabilir yığın izlemeleri (stack trace) göstermek üzere ek adımlar gerekir.
Projenizin Flutter sembollerini (dSYM dosyaları) otomatik olarak oluşturup Crashlytics platformuna 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, kod karartma etkinleştirilirse Firebase Console'daki kilitlenme raporları karartılabilir.
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ı 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ı 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 projeniz --split-debug-info işaretini (ve isteğe bağlı olarak --obfuscate işaretini de) kullanıyorsa uygulamanız için okunabilir yığın izlemeleri (stack trace) göstermek üzere ek adımlar gerekir.
Flutter hata ayıklama sembollerini yüklemek için Firebase CLI'yı (v.11.9.0+) kullanın. Karartılmış kod derlemesinden kaynaklanan bir kilitlenmeyi bildirmeden önce hata ayıklama simgelerini 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)
Örnek Firebase Android uygulama kimliği:1:567383003300:android:17104a2ced0c9b9bPATH/TO/symbols: Uygulamayı derlerken--split-debug-infoişaretine ilettiğiniz dizin
Sorunlar devam ederse Gizlenmiş raporlarla ilgili sorunları gidermeye yönelik Android'e özel kılavuzu inceleyin.