Firebase Crashlytics'i kullanmaya başlayın

Bu hızlı başlangıç kılavuzunda, Firebase Crashlytics'i nasıl kuracağınız açıklanmaktadır. kilitlenme ve kilitlenme sorununu çözmek için Firebase konsolunda yer alır.

Crashlytics kurulumu, hem komut satırı aracı hem de IDE'nizin kullanılmasını gerektirir. Kurulumu tamamlamak için, Search Ads 360'a gönderilen Firebase'e ilk kilitlenme raporunu gönderin.

Başlamadan önce

  1. Henüz yapmadıysanız Flutter'ınızda Firebase'i yapılandırın ve başlatın belirler.

  2. Önerilen: Otomatik içerik haritası günlükleri Kilitlenme, önemli olmayan veya ANR etkinliğiyle sonuçlanan kullanıcı işlemlerini anlamak için Firebase projenizde Google Analytics'i etkinleştirmeniz gerekir.

    • Mevcut Firebase projenizde Google Analytics yoksa Google Analytics'i şuradan etkinleştirebilirsiniz: Entegrasyonlar sekmesini > Proje ayarları Firebase konsolunda yer alır.

    • Yeni bir Firebase projesi oluşturuyorsanız Google Analytics'i etkinleştirin müzakere tekniği de eklediniz.

    İçerik haritası günlüklerinin tüm Android ve Apple platformları için kullanılabildiğini unutmayın. Crashlytics tarafından desteklenir (watchOS hariç).

1. Adım: Flutter projenize Crashlytics'i ekleyin

  1. Flutter projenizin kök dizininden aşağıdaki komutu çalıştırarak Crashlytics için Flutter eklentisidir.

    , içerik haritası günlükleri uygulamanıza Google Analytics için Flutter eklentisini de ekleyin. Şunlardan emin olun: Google Analytics etkin Firebase projenizde.

    flutter pub add firebase_crashlytics && flutter pub add firebase_analytics
    
  2. Flutter projenizin kök dizininden aşağıdaki komutu çalıştırın:

    flutterfire configure
    

    Bu komutu çalıştırdığınızda Flutter uygulamanızın Firebase yapılandırması günceldir ve Android için gerekli Crashlytics Gradle'ı ekler ekleyebilirsiniz.

  3. Ardından Flutter projenizi yeniden derleyin:

    flutter run
    
  4. (İsteğe bağlı) Flutter projenizde --split-debug-info işareti kullanılıyorsa (ve isteğe bağlı olarak --obfuscate işaretini) kullanarak, uygulamanız için okunabilir yığın izlemeleri (stack trace) göstermek için gereklidir.

    • Apple platformları: Projenizde önerilen teknolojilerin kullanıldığından emin olun. sürüm yapılandırmasını (Flutter 3.12.0+ ve Crashlytics Flutter eklentisi 3.3.4+) çalışır. Flutter simgelerini (dSYM dosyaları) otomatik olarak oluşturup Crashlytics.

    • Android: Yüklemek için Firebase CLI'ı (v.11.9.0+) kullanın Flutter hata ayıklama sembolleri. Hata ayıklama sembollerini önce yüklemeniz gerekiyor karartılmış bir kod derlemesinden gelen kilitlenmeyi bildirir.

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

      firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/symbols
      • FIREBASE_APP_ID: Firebase Android uygulaması kimliğiniz (kimliğiniz değil: paket adı)
        Örnek Firebase Android uygulaması kimliği: 1:567383003300:android:17104a2ced0c9b9b

      • PATH/TO/symbols: Yüklediğiniz dizin uygulamayı oluştururken --split-debug-info bayrağına geç

2. Adım: Kilitlenme işleyicileri yapılandırın

Flutter'ın içindeyken gönderilen tüm hataları otomatik olarak yakalayabilirsiniz. çerçevesine uygun şekilde FlutterError.onError öğesini geçersiz kılarak FirebaseCrashlytics.instance.recordFlutterFatalError:

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 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 işleneceğine dair örnekler için bkz. Kilitlenme raporlarını özelleştirme.

3. Adım: Kurulumu tamamlamak için test kilitlenmesini zorunlu kılın

Crashlytics'in kurulumunu tamamlamak ve Crashlytics'te ilk verileri görmek için kontrol panelinde bir test istisnasının yerine getirilmesini atılır.

  1. Uygulamanıza, bir test istisnasını atılır.

    Arama yapan bir hata işleyici eklediyseniz FirebaseCrashlytics.instance.recordError(error, stack, fatal: true) - üst düzey Zone, uygulamanıza bir düğme eklemek için aşağıdaki kodu kullanabilirsiniz ise basıldığında bir test istisnası ortaya çıkar:

    TextButton(
        onPressed: () => throw Exception(),
        child: const Text("Throw Test Exception"),
    ),
    
  2. Uygulamanızı derleyip çalıştırın.

  3. Uygulamanızın ilk rapor:

    1. Test cihazınızdan veya emülatörünüzden uygulamanızı açın.

    2. Uygulamanızda, yukarıdaki koda bakın.

  4. Şuraya gidin: Crashlytics kontrol paneli simgesini tıklayın.

    Konsolu yenilediyseniz ve test kilitlenmesini hâlâ görmüyorsanız beş dakika sonra hata ayıklama günlük kaydını etkinleştirme uygulamanızın kilitlenme raporu gönderip göndermediğini kontrol edin.


. Hepsi bu kadar! Crashlytics artık uygulamanızı kilitlenmelere karşı izliyor ve Android, önemli olmayan hatalar ve ANR'ler. Şurayı ziyaret edin: Crashlytics kontrol paneli kullanarak tüm raporlarınızı ve istatistiklerinizi görüntüleyebilir ve inceleyebilirsiniz.

Sonraki adımlar

  • Kilitlenme raporu ayarlarınızı özelleştirme önemli olmayan ek hata kodları için kaydolma raporları, günlükler, anahtarlar ve izleme ekleyerek hatalar.

  • Google Play ile entegrasyon Böylece, Android uygulamanızın kilitlenme raporlarını Google Play kanalına göre filtreleyebilirsiniz doğrudan Crashlytics kontrol paneli içinde. Bu sayede videonuza daha iyi odaklanabilirsiniz kontrol panelinize göre ekleyebilirsiniz.

  • kod Android Studio'daki Uygulama Kalitesi Analizleri penceresiyle (ilk olarak, elektrikli Eel 2022.1.1).