Catch up on highlights from Firebase at Google I/O 2023. Learn more

התחל עם Firebase Crashlytics

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

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

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

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

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

    כל הפלטפורמות של Apple הנתמכות על ידי Crashlytics (למעט watchOS) יכולות לנצל את התכונות הללו מ-Google Analytics. שים לב שאתה צריך SDK v8.9.0+ עבור אפליקציות macOS ו-tvOS.

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

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

שלב 1 : הוסף את ה-SDK של Crashlytics לאפליקציה שלך

השתמש ב- Swift Package Manager כדי להתקין ולנהל תלות ב-Firebase.

  1. ב-Xcode, כשפרויקט האפליקציה שלך פתוח, נווט אל קובץ > הוסף חבילות .
  2. כשתתבקש, הוסף את מאגר Firebase Apple platforms SDK:
  3.   https://github.com/firebase/firebase-ios-sdk
  4. בחר את ספריית Crashlytics.
  5. לחוויה מיטבית עם Crashlytics, אנו ממליצים להפעיל את Google Analytics בפרויקט Firebase שלך ​​ולהוסיף את Firebase SDK עבור Google Analytics לאפליקציה שלך. אתה יכול לבחור בספרייה ללא אוסף IDFA או עם אוסף IDFA.
  6. בסיום, Xcode יתחיל באופן אוטומטי לפתור ולהוריד את התלות שלך ברקע.

לאחר מכן, הגדר את מודול Firebase:

  1. ייבא את מודול Firebase במבנה App שלך או UIApplicationDelegate :

    מָהִיר

    import Firebase

    Objective-C

    @import Firebase;
  2. הגדר מופע משותף FirebaseApp , בדרך כלל בשיטת application(_:didFinishLaunchingWithOptions:) של נציג האפליקציה שלך:

    מָהִיר

    // Use the Firebase library to configure APIs.
    FirebaseApp.configure()
    

    Objective-C

    // Use the Firebase library to configure APIs.
    [FIRApp configure];
    

שלב 2 : הגדר את Xcode להעלאה אוטומטית של קבצי dSYM

כדי להפיק דוחות קריאות קריאות אנושיים, Crashlytics זקוק לקבצי סמל ניפוי באגים (dSYM) של הפרויקט שלך. השלבים הבאים מתארים כיצד להגדיר את Xcode לייצר אוטומטית את ה-dSYMs שלך, לעבד אותם ולהעלות את הקבצים בכל פעם שאתה בונה את האפליקציה שלך.

  1. פתח את סביבת העבודה Xcode של הפרויקט שלך, ולאחר מכן בחר את קובץ הפרויקט שלו בנווט השמאלי.

  2. מרשימת היעדים , בחר את יעד הבנייה הראשי שלך.

  3. לחץ על הכרטיסייה Build Settings , ולאחר מכן השלם את השלבים הבאים כדי ש-Xcode יפיק dSYMs עבור ה-builds שלך.

    1. לחץ על הכל ולאחר מכן חפש debug information format .

    2. הגדר את פורמט מידע ניפוי באגים ל- DWARF with dSYM File עבור כל סוגי הבנייה שלך.

  4. לחץ על הכרטיסייה Build Phases , ולאחר מכן השלם את השלבים הבאים כדי ש-Xcode יוכל לעבד את ה-dSYMs שלך ולהעלות את הקבצים.

    1. לחץ על > שלב הפעלת סקריפט חדש .

      ודא ששלב ההפעלה החדש הזה הוא שלב הבנייה האחרון של הפרויקט שלך; אחרת, Crashlytics לא יכולה לעבד כראוי dSYMs.

    2. הרחב את הקטע החדש של הפעלת סקריפט .

    3. בשדה הסקריפט (הממוקם תחת התווית Shell ), הוסף את סקריפט ההרצה הבא.

      סקריפט זה מעבד את קבצי dSYM של הפרויקט שלך ומעלה את הקבצים ל-Crashlytics.

      "${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
    4. במקטע קבצי קלט , הוסף את הנתיבים עבור המיקומים של הקבצים הבאים:

      • המיקום של קבצי dSYM של הפרויקט שלך:

        ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}

        מתן המיקום של קובצי dSYM של הפרויקט שלך מאפשר ל-Crashlytics לעבד את ה-dSYMs עבור אפליקציות גדולות מהר יותר.

      • המיקום של קובץ Info.plist הבנוי של הפרויקט שלך:

        $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

        מתן המיקום של קובץ Info.plist הבנוי של הפרויקט שלך מאפשר ל-Crashlytics לשייך גרסת אפליקציה ל-dSYMs.

למידע מפורט יותר על קבצי dSYM ו-Crashlytics (כולל כיצד להעלות קבצי dSYM באופן ידני), בקר בקבל דוחות קריסה מעורפלים .

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

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

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

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

    SwiftUI

    Button("Crash") {
      fatalError("Crash was triggered")
    }
    

    UIKit

    מָהִיר

    import UIKit
    
    class ViewController: UIViewController {
      override func viewDidLoad() {
          super.viewDidLoad()
    
          // Do any additional setup after loading the view, typically from a nib.
    
          let button = UIButton(type: .roundedRect)
          button.frame = CGRect(x: 20, y: 50, width: 100, height: 30)
          button.setTitle("Test Crash", for: [])
          button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
          view.addSubview(button)
      }
    
      @IBAction func crashButtonTapped(_ sender: AnyObject) {
          let numbers = [0]
          let _ = numbers[1]
      }
    }
    

    Objective-C

    #import "ViewController.h"
    
    @implementation ViewController
    ‐ (void)viewDidLoad {
        [super viewDidLoad];
    
        // Do any additional setup after loading the view, typically from a nib.
    
        UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        button.frame = CGRectMake(20, 50, 100, 30);
        [button setTitle:@"Test Crash" forState:UIControlStateNormal];
        [button addTarget:self action:@selector(crashButtonTapped:)
            forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:button];
    }
    
    ‐ (IBAction)crashButtonTapped:(id)sender {
        @[][1];
    }
    
    @end
    
  2. בנה והפעל את האפליקציה שלך ב-Xcode.

    1. לחץ על Build ולאחר מכן הפעל את הסכימה הנוכחית כדי לבנות את האפליקציה שלך במכשיר בדיקה או סימולטור.

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

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

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

    2. באפליקציה שלך, לחץ על כפתור "Test Crash" שהוספת באמצעות הקוד שלמעלה.

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

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

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


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

הצעדים הבאים