欢迎参加我们将于 2022 年 10 月 18 日举办的 Firebase 峰会(线上线下同时进行),了解 Firebase 如何帮助您加快应用开发速度、满怀信心地发布应用并在之后需要时轻松地扩大应用规模。立即报名

התחל עם Firebase Crashlytics

התחלה מהירה זו מתארת ​​כיצד להגדיר את Firebase Crashlytics באפליקציה שלך עם הפלאגין Crashlytics Flutter, כך שתוכל לקבל דוחות קריסה מקיפים במסוף Firebase.

הגדרת Crashlytics כרוכה בשימוש גם בכלי שורת הפקודה וגם ב-IDE שלך. כדי לסיים את ההגדרה, תצטרך לאלץ לזרוק חריג בדיקה כדי לשלוח את דוח הקריסה הראשון שלך ל-Firebase.

לפני שאתה מתחיל

  1. אם עדיין לא עשית זאת, הגדר ואתחל את Firebase בפרויקט Flutter שלך.

  2. מומלץ : כדי לקבל תכונות כמו משתמשים ללא קריסות, יומני פירורי לחם והתראות מהירות, עליך להפעיל את Google Analytics בפרויקט Firebase שלך.

    כל פלטפורמות אנדרואיד ואפל הנתמכות על ידי Crashlytics (למעט watchOS) יכולות לנצל את התכונות הללו מ-Google Analytics.

    ודא ש-Google Analytics מופעל בפרויקט Firebase שלך: עבור אל > הגדרות פרויקט > כרטיסיית אינטגרציות , ולאחר מכן עקוב אחר ההוראות שעל המסך עבור Google Analytics.

שלב 1 : הוסף Crashlytics לפרויקט Flutter שלך

  1. מהשורש של פרויקט Flutter שלך, הפעל את הפקודה הבאה כדי להתקין את הפלאגין Crashlytics Flutter:

    flutter pub add firebase_crashlytics
    
  2. מספריית השורש של פרויקט Flutter שלך, הפעל את הפקודה הבאה:

    flutterfire configure
    

    הפעלת פקודה זו מבטיחה שתצורת ה-Firebase של אפליקציית Flutter שלך מעודכנת, ועבור אנדרואיד, מוסיפה לאפליקציה שלך את הפלאגין Crashlytics Gradle הנדרש.

  3. לאחר השלמת, בנה מחדש את פרויקט Flutter שלך:

    flutter run
    

שלב 2 : הגדר מטפלי קריסה

אתה יכול לתפוס אוטומטית את כל השגיאות שנזרקות במסגרת Flutter על ידי דריסת FlutterError.onError עם FirebaseCrashlytics.instance.recordFlutterFatalError :

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp();

  // Pass all uncaught errors from the framework to Crashlytics.
  FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;

  runApp(MyApp());
}

אם אתה משתמש באזורים, מכשיר למטפל השגיאות של האזור יתפוס שגיאות שאינן נתפסות על ידי המסגרת של Flutter (לדוגמה, במטפל onPressed של כפתור):

void main() async {
  runZonedGuarded<Future<void>>(() async {
    WidgetsFlutterBinding.ensureInitialized();
    await Firebase.initializeApp();

    FlutterError.onError =
       FirebaseCrashlytics.instance.recordFlutterFatalError;

    runApp(MyApp());
  }, (error, stack) =>
    FirebaseCrashlytics.instance.recordError(error, stack, fatal: true));
}

לדוגמאות לטיפול בסוגים אחרים של שגיאות, ראה התאמה אישית של דוחות קריסה .

שלב 3 : כפה קריסת בדיקה כדי לסיים את ההגדרה

כדי לסיים את הגדרת Crashlytics ולראות נתונים ראשוניים בלוח המחוונים של Crashlytics של קונסולת Firebase, עליך לאלץ לזרוק חריג בדיקה.

  1. הוסף קוד לאפליקציה שלך שבו תוכל להשתמש כדי לאלץ לזרוק חריג בדיקה.

    אם הוספת מטפל בשגיאות שקורא ל- FirebaseCrashlytics.instance.recordError(error, stack, fatal: true) ל- Zone ברמה העליונה, תוכל להשתמש בקוד הבא כדי להוסיף לחצן לאפליקציה שלך, שכאשר לוחצים עליו, זורק חריג מבחן:

    TextButton(
        onPressed: () => throw Exception(),
        child: const Text("Throw Test Exception"),
    ),
    
  2. בנה והפעל את האפליקציה שלך.

  3. הכריח את חריג הבדיקה להיזרק כדי לשלוח את הדוח הראשון של האפליקציה שלך:

    1. פתח את האפליקציה שלך ממכשיר הבדיקה או האמולטור שלך.

    2. באפליקציה שלך, לחץ על לחצן חריג הבדיקה שהוספת באמצעות הקוד שלמעלה.

  4. עבור אל לוח המחוונים של Crashlytics של מסוף Firebase כדי לראות את קריסת המבחן שלך.

    אם רענן את המסוף ואתה עדיין לא רואה את קריסת הבדיקה לאחר חמש דקות, הפעל רישום באגים כדי לראות אם האפליקציה שלך שולחת דוחות קריסה.


וזה הכל! Crashlytics עוקבת כעת אחר האפליקציה שלך לאיתור קריסות וב-Android, שגיאות לא קטלניות ומקרי ANR. בקר במרכז השליטה של ​​Crashlytics כדי להציג ולחקור את כל הדוחות והסטטיסטיקות שלך.

הצעדים הבאים