بدء استخدام Firebase Crashlytics

توضّح هذه البداية السريعة كيفية إعداد Firebase Crashlytics في تطبيقك. مع حزمة تطوير البرامج (SDK) لمنصة Firebase Crashlytics كي تتمكّن من حدوث أعطال شاملة في وحدة تحكُّم Firebase.

يتطلب إعداد Crashlytics مهامًا في كل من وحدة تحكُّم Firebase بيئة التطوير المتكاملة (IDE) (مثل إضافة ملف إعداد Firebase وأداة Crashlytics SDK). لإنهاء عملية الإعداد، ستحتاج إلى فرض إرسال عطل تجريبي لإرسال أول إلى Firebase.

قبل البدء

  1. أضِف Firebase إلى جهاز Apple، إذا لم يسبق لك إجراء ذلك. مشروعك. إذا لم يكن لديك تطبيق Apple، يمكنك تنزيل نموذج تطبيق.

  2. موصى به: للحصول تلقائيًا على سجلّات شريط التنقّل لفهم إجراءات المستخدم التي تؤدي إلى أعطال أو أحداث غير فادحة أو أخطاء ANR، عليك تفعيل "إحصاءات Google" في مشروعك على Firebase.

    • في حال لم تكن خدمة "إحصاءات Google" متوفرة في مشروعك الحالي على Firebase. بشكل عام، يمكنك تفعيل "إحصاءات Google" علامة التبويب عمليات الدمج في > إعدادات المشروع في وحدة تحكُّم Firebase.

    • إذا كنت بصدد إنشاء مشروع جديد على Firebase، فعِّل "إحصاءات Google". أثناء سير عمل إنشاء المشروع.

    ملاحظة: إنّ سجلّات شريط التنقّل متوفّرة لجميع منصات Apple المتوافقة مع Crashlytics باستثناء نظام التشغيل WatchOS

الخطوة 1: إضافة حزمة تطوير البرامج (SDK) في Crashlytics إلى تطبيقك

يمكنك استخدام "مدير حزم Swift" لتثبيت اعتماديات Firebase وإدارتها.

  1. في Xcode، انتقِل إلى File (ملف) > بعد فتح مشروع التطبيق الخاص بك. إضافة حِزم
  2. أضِف مستودع حزمة تطوير البرامج (SDK) لمنصّات Firebase Apple عندما يُطلب منك ذلك:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. اختَر مكتبة Crashlytics.
  5. للاستفادة من سجلات شريط التنقل أضِف أيضًا حزمة تطوير البرامج (SDK) لمنصّة Firebase الخاصّة بخدمة "إحصاءات Google" إلى تطبيقك. تأكَّد من تم تفعيل "إحصاءات Google" في مشروع Firebase.
  6. أضِف العلامة -ObjC إلى القسم علامات الروابط الأخرى في إعدادات إصدار هدفك.
  7. (نظام التشغيل macOS فقط) في Info.plist، أضِف المفتاح. NSApplicationCrashOnExceptions وضبطه على YES
  8. عند الانتهاء، سيبدأ Xcode تلقائيًا في حل وتنزيل ملف والتبعيات في الخلفية.

بعد ذلك، اضبط وحدة Firebase على النحو التالي:

  1. استورِد وحدة Firebase في بنية App أو UIApplicationDelegate:

    Swift

    import Firebase

    Objective-C

    @import Firebase;
  2. ضبط مثيل مشترك من FirebaseApp، يكون عادةً في حساب مفوَّض تطبيقك طريقة application(_:didFinishLaunchingWithOptions:):

    Swift

    // 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 لإنتاج نماذج dSYM تلقائيًا ومعالجتها وتحميل الملفات متى شئت في إنشاء تطبيقك.

  1. افتح مساحة عمل Xcode لمشروعك، ثم حدد ملف المشروع الخاص به في التنقُّل الأيسر.

  2. من قائمة الاستهدافات، اختَر هدف الإصدار الرئيسي.

  3. انقر على علامة التبويب إعدادات الإصدار، ثم أكمل الخطوات التالية حتى وينتج Xcode دالة dSYM للإنشاءات.

    1. انقر على الكل، ثم ابحث عن debug information format.

    2. اضبط تنسيق معلومات تصحيح الأخطاء على DWARF with dSYM File لجميع وأنواع الإنشاءات.

  4. انقر على علامة التبويب إنشاء مراحل، ثم أكمل الخطوات التالية حتى بإمكان Xcode معالجة ملفات dSYM وتحميل الملفات.

    1. انقر على >. مرحلة جديدة لتشغيل النص البرمجي.

      تأكَّد من أنّ مرحلة تشغيل النص البرمجي الجديدة هذه هي آخر إصدار لمشروعك. المرحلة؛ وإلا لن يتمكن تطبيق Crashlytics من معالجة dSYM بشكل صحيح.

    2. وسِّع القسم تشغيل النص البرمجي الجديد.

    3. في حقل النص البرمجي (الموجود ضمن التصنيف Shell)، أضِف العنصر البرنامج النصي التالي للتشغيل.

      يعالج هذا النص البرمجي ملفات dSYM لمشروعك ويحمّل الملفات إلى Crashlytics

      "${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
    4. في قسم ملفات الإدخال، أضِف مسارات مواقع الملفات التالية:

      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist
      $(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
      $(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)

للحصول على معلومات أكثر تفصيلاً حول ملفات dSYM وCrashlytics (بما في ذلك كيفية تحميل ملفات dSYM يدويًا)، انتقل إلى الحصول على تقارير الأعطال التي تمت إزالة تشويشها

الخطوة 3: فرض عطل في الاختبار لإنهاء عملية الإعداد

لإنهاء إعداد Crashlytics والاطّلاع على البيانات الأولية في لوحة بيانات Crashlytics الخاصة بوحدة تحكم Firebase، وعليك فرض إجراء اختبار. والأعطال.

  1. أضِف رمزًا إلى تطبيقك يمكنك استخدامه لفرض حدوث عطل تجريبي.

    يمكنك استخدام الرمز التالي لإضافة زر إلى تطبيقك يمكن أن إلى حدوث عطل. تمت تسمية الزر باسم "اختبار العطل".

    واجهة المستخدم

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

    واجهة UIKit

    Swift

    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 مع عدم ربط برنامج تصحيح الأخطاء في Xcode.

    1. انقر على إنشاء، ثم تشغيل المخطط الحالي لإنشاء تطبيقك على جهاز اختباري المحاكي.

    2. انتظر إلى أن يتم تشغيل التطبيق، ثم انقر على إيقاف تشغيل المخطط أو إجراءً لإغلاق المثيل الأولي لتطبيقك. هذا الاسم الأولي يتضمن برنامج تصحيح الأخطاء الذي يتداخل مع Crashlytics.

  3. يمكنك فرض العطل التجريبي لإرسال تقرير الأعطال الأول لتطبيقك:

    1. افتح تطبيقك من الشاشة الرئيسية لجهاز الاختبار أو المحاكي.

    2. اضغط على "اختبار التعطّل" في تطبيقك الذي أضفته باستخدام الرمز أعلاه.

    3. بعد تعطُّل تطبيقك، يمكنك تشغيله مرة أخرى من Xcode حتى يتمكّن التطبيق من إرسال تقرير الأعطال إلى Firebase.

  4. انتقِل إلى لوحة بيانات Crashlytics وحدة تحكُّم Firebase للاطّلاع على العُطل التجريبي.

    إذا أعدت تحميل وحدة التحكّم ولكن لم يظهر عطل الاختبار بعد ذلك بعد خمس دقائق، تفعيل ميزة تسجيل معلومات تصحيح الأخطاء لمعرفة ما إذا كان تطبيقك يرسل تقارير الأعطال.


وهذا كل ما في الأمر! يراقب تطبيق Crashlytics الآن تطبيقك بحثًا عن الأعطال. انتقِل إلى لوحة بيانات Crashlytics للاطّلاع عليها والتحقيق فيها. كل تقاريرك وإحصاءاتك

الخطوات التالية