ابدأ مع Firebase Crashlytics

تصف هذه البداية السريعة كيفية إعداد Firebase Crashlytics في تطبيقك باستخدام Firebase Crashlytics SDK بحيث يمكنك الحصول على تقارير أعطال شاملة في وحدة تحكم Firebase.

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

قبل ان تبدأ

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

  2. موصى به : للحصول على ميزات مثل المستخدمين الذين لم يتعرضوا للأعطال وسجلات التنقل وتنبيهات السرعة ، تحتاج إلى تمكين Google Analytics في مشروع Firebase.

    جميع منصات Apple التي تدعمها Crashlytics (باستثناء watchOS) يمكنها الاستفادة من هذه الميزات من Google Analytics. لاحظ أنك بحاجة إلى SDK v8.9.0 + لتطبيقات macOS و tvOS.

    • إذا لم يتم تمكين Google Analytics لمشروع Firebase الحالي ، فيمكنك تمكين Google Analytics من علامة تبويب التكامل في > إعدادات المشروع في وحدة تحكم Firebase.

    • إذا كنت تنشئ مشروع Firebase جديدًا ، فقم بتمكين Google Analytics أثناء سير عمل إنشاء المشروع.

الخطوة 1 : أضف Firebase Crashlytics SDK إلى تطبيقك

استخدم Swift Package Manager لتثبيت وإدارة تبعيات Firebase.

  1. في Xcode ، مع فتح مشروع التطبيق الخاص بك ، انتقل إلى ملف> إضافة حزم .
  2. عند المطالبة ، أضف مستودع SDK لأنظمة Apple الأساسية لـ Firebase:
  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

    ج موضوعية

    @import Firebase;
  2. قم بتهيئة مثيل FirebaseApp المشترك ، عادةً في مُهيئ App أو تطبيق مفوض application(_:didFinishLaunchingWithOptions:) :

    سويفت

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

    ج موضوعية

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

الخطوة 2 : قم بإعداد Xcode لتحميل ملفات dSYM تلقائيًا

لإنشاء تقارير أعطال يمكن للبشر قراءتها ، تحتاج Crashlytics إلى ملفات رمز تصحيح أخطاء مشروعك (dSYM). تصف الخطوات التالية كيفية تكوين Xcode لإنتاج dSYMs تلقائيًا ومعالجتها وتحميل الملفات كلما قمت بإنشاء تطبيقك.

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

  2. من قائمة الأهداف ، حدد هدف التصميم الرئيسي.

  3. انقر فوق علامة التبويب Build Settings (إعدادات الإنشاء) ، ثم أكمل الخطوات التالية بحيث ينتج Xcode dSYMs للبنيات الخاصة بك.

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

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

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

    1. انقر فوق > مرحلة برنامج تشغيل جديد .

      تأكد من أن مرحلة تشغيل البرنامج النصي الجديدة هذه هي آخر مرحلة بناء لمشروعك ؛ خلاف ذلك ، لا يمكن لـ Crashlytics معالجة dSYMs بشكل صحيح.

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

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

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

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

      • موقع ملفات dSYM لمشروعك :

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

        يتيح توفير موقع ملفات dSYM لمشروعك لـ Crashlytics معالجة dSYM للتطبيقات الكبيرة بسرعة أكبر.

      • موقع ملف 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]
      }
    }
    

    ج موضوعية

    #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. في تطبيقك ، اضغط على زر "اختبار التعطل" الذي أضفته باستخدام الرمز أعلاه.

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

  4. انتقل إلى لوحة معلومات Crashlytics بوحدة تحكم Firebase لمشاهدة اختبار تحطم الطائرة.

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


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

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