תחילת העבודה עם Firebase Crashlytics


במדריך הזה מוסבר איך להגדיר את Firebase Crashlytics באפליקציה באמצעות Firebase Crashlytics SDK כדי לקבל דוחות מקיפים על קריסות ב-Firebase Console. עם Crashlytics ל-Android, מקבלים דוחות על קריסות, שגיאות לא חמורות ושגיאות מסוג ANR (האפליקציה לא מגיבה).

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

לפני שמתחילים

  1. אם עדיין לא עשיתם זאת, מוסיפים את Firebase לפרויקט Android. אם אין לכם אפליקציית Android, אתם יכולים להוריד אפליקציה לדוגמה.

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

    • אם בפרויקט הקיים שלכם ב-Firebase לא הפעלתם את Google Analytics, תוכלו להפעיל את Google Analytics דרך הכרטיסייה Integrations (שילובים) בקטע > Project settings (הגדרות הפרויקט) במסוף Firebase.

    • אם אתם יוצרים פרויקט חדש ב-Firebase, זכרו להפעיל את Google Analytics לפני שתסיימו ליצור את הפרויקט.

  3. מוודאים שבאפליקציה מותקנות הגרסאות המינימליות הנדרשות הבאות:

    • Gradle 8.0
    • פלאגין Android Gradle‏ 8.1.0
    • פלאגין Google services Gradle 4.4.1

שלב 1: מוסיפים את Crashlytics SDK לאפליקציה

<0x0<project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradleCrashlytics מומלץ להשתמש ב-Firebase Android BoM כדי לשלוט בניהול הגרסאות של הספריות.

כדי ליהנות מיומני נתיב, צריך להוסיף לאפליקציה גם את Firebase SDK for Google Analytics. חשוב לוודא שGoogle Analytics מופעל בפרויקט Firebase.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:34.0.0"))

    // Add the dependencies for the Crashlytics NDK and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-crashlytics-ndk")
    implementation("com.google.firebase:firebase-analytics")
}

באמצעות Firebase Android BoM, האפליקציה תמיד תשתמש בגרסאות תואמות של ספריות Firebase ל-Android.

(חלופה)  מוסיפים תלויות של ספריות Firebase בלי להשתמש ב-BoM

אם לא משתמשים ב-Firebase BoM, צריך לציין את הגרסה של כל ספריית Firebase בשורת התלות שלה.

הערה: אם אתם משתמשים בכמה ספריות Firebase באפליקציה, מומלץ מאוד להשתמש ב-BoM כדי לנהל את גרסאות הספריות, וכך לוודא שכל הגרסאות תואמות.

dependencies {
    // Add the dependencies for the Crashlytics NDK and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-crashlytics-ndk:20.0.0")
    implementation("com.google.firebase:firebase-analytics:23.0.0")
}

שלב 2: מוסיפים את הפלאגין Crashlytics Gradle לאפליקציה

  1. בקובץ Gradle ברמת הבסיס (ברמת הפרויקט) (<project>/build.gradle.kts או <project>/build.gradle), מוסיפים את פלאגין Gradle‏ Crashlytics לבלוק plugins:

    Kotlin

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id("com.android.application") version "8.1.4" apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id("com.google.gms.google-services") version "4.4.3" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.5" apply false
    }

    Groovy

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id 'com.android.application' version '8.1.4' apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id 'com.google.gms.google-services' version '4.4.3' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.5' apply false
    }
  2. בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle.kts או <project>/<app-module>/build.gradle), מוסיפים את הפלאגין Crashlytics Gradle:

    Kotlin

    plugins {
      id("com.android.application")
      // ...
    
      // Make sure that you have the Google services Gradle plugin
      id("com.google.gms.google-services")
    
      // Add the Crashlytics Gradle plugin
      id("com.google.firebase.crashlytics")
    }

    Groovy

    plugins {
      id 'com.android.application'
      // ...
    
      // Make sure that you have the Google services Gradle plugin
      id 'com.google.gms.google-services'
    
      // Add the Crashlytics Gradle plugin
      id 'com.google.firebase.crashlytics'
    }

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

כדי לסיים את ההגדרה של Crashlytics ולראות נתונים ראשוניים בלוח הבקרה של Crashlytics ב-Firebase Console, צריך לגרום לקריסת בדיקה.

  1. מוסיפים לאפליקציה קוד שאפשר להשתמש בו כדי לגרום לקריסת בדיקה.

    אפשר להשתמש בקוד הבא ב-MainActivity של האפליקציה כדי להוסיף לאפליקציה לחצן שגורם לקריסה כשלוחצים עליו. התווית של הלחצן היא Test Crash (בדיקת קריסה).

    Kotlin

    val crashButton = Button(this)
    crashButton.text = "Test Crash"
    crashButton.setOnClickListener {
       throw RuntimeException("Test Crash") // Force a crash
    }
    
    addContentView(crashButton, ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT))

    Java

    Button crashButton = new Button(this);
    crashButton.setText("Test Crash");
    crashButton.setOnClickListener(new View.OnClickListener() {
       public void onClick(View view) {
           throw new RuntimeException("Test Crash"); // Force a crash
       }
    });
    
    addContentView(crashButton, new ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT));
  2. יוצרים ומריצים את האפליקציה.

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

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

    2. באפליקציה, לוחצים על הלחצן Test Crash (בדיקת קריסה) שהוספתם באמצעות הקוד שלמעלה.

    3. אחרי שהאפליקציה קורסת, צריך להפעיל אותה מחדש כדי שהיא תוכל לשלוח את דוח הקריסה ל-Firebase.

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

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


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

השלבים הבאים

  • משלבים עם Google Play כדי לסנן את דוחות קריסת האפליקציה ל-Android לפי Google Play ולעקוב ישירות בלוח הבקרה של Crashlytics. כך תוכלו להתמקד בלוח הבקרה בגרסאות ספציפיות.
  • ב-Android Studio, צופים בנתוני Crashlytics ומסננים אותם.
    • אפשר להשתמש בחלון App Quality Insights (AQI) ב-Android Studio כדי להציג נתונים לצד הקוד – לא צריך לעבור הלוך ושוב בין לוח הבקרה לבין סביבת הפיתוח המשולבת (IDE) כדי להתחיל בניפוי באגים של בעיות מרכזיות.CrashlyticsCrashlytics
    • מידע על השימוש בחלון AQI מופיע במסמכי התיעוד של Android Studio.
    • נשמח לשמוע ממך! אפשר לשלוח לנו משוב על חלון איכות האוויר על ידי דיווח על באג.