Crashlytics kontrol panelinde okunabilir kilitlenme raporları alma (Flutter)
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
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:
Projenizin iOS dizinindeki Xcode çalışma alanı dosyasını (FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace) bulun ve açın.
[firebase_crashlytics] Crashlytics Upload Symbols adlı bir çalıştırma komut dosyasının, Runner hedefinin derleme aşamalarına eklenip eklenmediğini belirleyin.
dSYM'lerin otomatik olarak yüklenmesi için komut dosyası yoktur.
Bu çalıştırma komut dosyası yoksa manuel olarak ekleyebilirsiniz:
Apple uygulamanızın Firebase Uygulama Kimliği'ni bulun. Bu kimliği bulabileceğiniz iki farklı yer aşağıda verilmiştir:
Firebase konsolunda settings > Proje ayarları'na gidin.
Uygulamalarınız kartına gidin, ardından Uygulama Kimliği de dahil olmak üzere uygulama bilgilerini görüntülemek için Firebase Apple uygulamanızı tıklayın.
Flutter projenizin üst düzey dizininde firebase_options.dart dosyanızı bulun. Apple uygulamanızın Firebase Uygulama Kimliği appId olarak etiketlenir.
add >
New Run Script Phase'i (Yeni Çalıştırma Komut Dosyası Aşaması) tıklayın.
Bu yeni Run Script aşamasının projenizin son derleme aşaması olduğundan emin olun. Aksi takdirde, Crashlytics dSYM'leri düzgün şekilde işleyemez.
Yeni Komut Dosyası Çalıştır bölümünü genişletin.
Senaryo alanına (Shell etiketinin altında bulunur) aşağıdaki çalıştırma komut dosyalarını ekleyin.
Bu komut dosyaları dSYM dosyalarınızı işler ve dosyaları Crashlytics konumuna yükler.
FIREBASE_APP_ID: Firebase Apple uygulama kimliğiniz (Apple paket kimliğiniz değil)
Firebase Apple uygulama kimliği örneği: 1:1234567890:ios:321abc456def7890
Firebase uygulama kimliğinizi mi bulmanız gerekiyor?
Firebase uygulama kimliğinizi bulmanın iki yolu vardır:
GoogleService-Info.plist dosyanızda uygulama kimliğiniz GOOGLE_APP_ID değeridir veya
Firebase konsolunda Proje ayarları'na gidin.
Uygulamalarınız kartına gidin ve uygulama kimliğini bulmak için istediğiniz Firebase uygulamasını tıklayın.
Giriş Dosyaları bölümünde, aşağıdaki dosyaların konumlarının yollarını ekleyin:
Bu dosyaların konumlarının neden gerekli olduğunu anlama
Xcode, derleme dosyalarının çalıştırma komut dosyası için kullanılabilir olduğundan emin olmak üzere bu giriş dosyalarını belirtilen konumlarda arar. Ayrıca, User Script Sandboxing etkinse Xcode yalnızca Input Files'da belirtilen dosyalara erişmek için çalıştırma komut dosyasına izin verir.
Apple uygulamanızın Firebase Uygulama Kimliği'ni bulun. Bu kimliği bulabileceğiniz iki farklı yer aşağıda verilmiştir:
Firebase konsolunda settings > Proje ayarları'na gidin.
Uygulamalarınız kartına gidin, ardından Uygulama Kimliği de dahil olmak üzere uygulama bilgilerini görüntülemek için Firebase Apple uygulamanızı tıklayın.
Flutter projenizin üst düzey dizininde firebase_options.dart dosyanızı bulun. Apple uygulamanızın Firebase Uygulama Kimliği appId olarak etiketlenir.
upload-symbols komut dosyasını çalıştırırken -gsp /path/to/GoogleService-Info.plist yerine -ai FIREBASE_APPLE_APP_ID kullanı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:
Uygulama düzeyindeki derleme dosyasında (android/app/build.gradle) aşağıdaki satırın olup olmadığını kontrol edin:
// ... other importsandroid{// ... your android config}dependencies{// ... your dependencies}// This section must appear at the bottom of the fileapplyplugin:'com.google.gms.google-services'applyplugin:'com.google.firebase.crashlytics'
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_APP_ID: Firebase Android uygulama kimliğiniz (paket adınız değil)
Firebase Android uygulama kimliği örneği: 1:567383003300:android:17104a2ced0c9b9b
Firebase uygulama kimliğinizi mi bulmanız gerekiyor?
Firebase uygulama kimliğinizi bulmanın iki yolu vardır:
google-services.json dosyanızda uygulama kimliğiniz mobilesdk_app_id değeridir veya
Firebase konsolunda Proje ayarları'na gidin.
Uygulamalarınız kartına gidin ve uygulama kimliğini bulmak için istediğiniz Firebase uygulamasını tıklayın.
PATH/TO/symbols: Uygulamayı oluştururken --split-debug-info işaretine ilettiğiniz dizinle aynı olmalıdır.