Bu hızlı başlangıç, Firebase konsolunda kapsamlı kilitlenme raporları alabilmeniz için uygulamanızda Firebase Crashlytics'i Crashlytics Flutter eklentisiyle nasıl kuracağınızı açıklar.
Crashlytics'i kurmak, hem komut satırı aracını hem de IDE'nizi kullanmayı içerir. Kurulumu tamamlamak için, ilk kilitlenme raporunuzu Firebase'e göndermek üzere bir test istisnasını atmaya zorlamanız gerekir.
Sen başlamadan önce
Henüz yapmadıysanız Flutter projenizde Firebase'i yapılandırın ve başlatın .
Önerilen : Kilitlenme sorunu yaşamayan kullanıcılar, içerik haritası günlükleri ve hız uyarıları gibi özellikleri almak için Firebase projenizde Google Analytics'i etkinleştirmeniz gerekir.
Crashlytics tarafından desteklenen tüm Android ve Apple platformları (watchOS hariç), Google Analytics'in bu özelliklerinden yararlanabilir.
Firebase projenizde Google Analytics'in etkinleştirildiğinden emin olun:
> Proje ayarları > Entegrasyonlar sekmesine gidin, ardından Google Analytics için ekrandaki talimatları izleyin.
1. Adım : Crashlytics'i Flutter projenize ekleyin
Crashlytics Flutter eklentisini yüklemek için Flutter projenizin kökünden aşağıdaki komutu çalıştırın:
flutter pub add firebase_crashlytics
Flutter projenizin kök dizininden aşağıdaki komutu çalıştırın:
flutterfire configure
Bu komutu çalıştırmak, Flutter uygulamanızın Firebase yapılandırmasının güncel olmasını sağlar ve Android için gerekli Crashlytics Gradle eklentisini uygulamanıza ekler.
Tamamlandığında, Flutter projenizi yeniden oluşturun:
flutter run
(İsteğe bağlı) Flutter projeniz
--split-debug-info
bayrağını (ve isteğe bağlı olarak--obfuscate
bayrağını ) kullanıyorsa, Android sembollerini yüklemek için Firebase CLI'yi (v.11.9.0+) kullanmanız gerekir.Flutter projenizin kök dizininden aşağıdaki komutu çalıştırın:
firebase crashlytics:symbols:upload --app=APP_ID PATH/TO/symbols
PATH/TO /symbols
dizini, uygulamayı oluştururken--split-debug-info
bayrağına ilettiğiniz dizinle aynıdır.
2. Adım : Kilitlenme işleyicilerini yapılandırın
FirebaseCrashlytics.instance.recordFlutterFatalError
ile FlutterError.onError
öğesini geçersiz kılarak Flutter çerçevesi içinde atılan tüm hataları otomatik olarak yakalayabilirsiniz:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
// Pass all uncaught "fatal" errors from the framework to Crashlytics
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;
runApp(MyApp());
}
Flutter çerçevesi tarafından işlenmeyen eşzamansız hataları yakalamak için şunu kullanın: PlatformDispatcher.instance.onError
:
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
FlutterError.onError = (errorDetails) {
FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails);
};
// Pass all uncaught asynchronous errors that aren't handled by the Flutter framework to Crashlytics
PlatformDispatcher.instance.onError = (error, stack) {
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
return true;
};
runApp(MyApp());
}
Diğer hata türlerinin nasıl ele alınacağına ilişkin örnekler için Kilitlenme raporlarını özelleştirme bölümüne bakın.
3. Adım : Kurulumu bitirmek için bir test çökmesine zorlayın
Crashlytics kurulumunu tamamlamak ve Firebase konsolunun Crashlytics kontrol panelinde ilk verileri görmek için bir test istisnasını atılmaya zorlamanız gerekir.
Uygulamanıza, bir test istisnasını atılmaya zorlamak için kullanabileceğiniz kod ekleyin.
Üst düzey
Zone
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true)
çağıran bir hata işleyici eklediyseniz, uygulamanıza basıldığında hata veren bir düğme eklemek için aşağıdaki kodu kullanabilirsiniz. bir test istisnası:TextButton( onPressed: () => throw Exception(), child: const Text("Throw Test Exception"), ),
Uygulamanızı oluşturun ve çalıştırın.
Uygulamanızın ilk raporunu göndermek için test istisnasını atılmaya zorlayın:
Uygulamanızı test cihazınızdan veya öykünücünüzden açın.
Uygulamanızda, yukarıdaki kodu kullanarak eklediğiniz test istisnası düğmesine basın.
Test kilitlenmenizi görmek için Firebase konsolunun Crashlytics kontrol paneline gidin.
Konsolu yenilediyseniz ve beş dakika geçmesine rağmen test kilitlenmesini hala 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 .
Ve bu kadar! Crashlytics artık uygulamanızı kilitlenmelere ve Android'de önemli olmayan hatalara ve ANR'lere karşı izliyor. Tüm raporlarınızı ve istatistiklerinizi görüntülemek ve araştırmak için Crashlytics kontrol panelini ziyaret edin.
Sonraki adımlar
Kaydolma raporları, günlükler, anahtarlar ve önemli olmayan ek hataların izlenmesini ekleyerek kilitlenme raporu kurulumunuzu özelleştirin .
Google Play ile entegre edin, böylece Android uygulamanızın kilitlenme raporlarını doğrudan Crashlytics kontrol panelinde Google Play izine göre filtreleyebilirsiniz. Bu, kontrol panelinizi belirli yapılara daha iyi odaklamanızı sağlar.
Android Studio'daki App Quality Insights penceresiyle kodunuzun yanı sıra yığın izlemelerini ve kilitlenme istatistiklerini görüntüleyin (Electric Eel 2022.1.1'den itibaren mevcuttur).