| اختيار المنصة: | +iOS Android Android NDK Flutter Unity |
يوضّح هذا الدليل كيفية بدء استخدام Firebase Crashlytics في تطبيقك على أنظمة Apple الأساسية (على سبيل المثال، تطبيق iOS).
بعد إعداد حزمة تطوير البرامج (SDK) لـ "Firebase Crashlytics" في تطبيقك، يمكنك الحصول على تقارير شاملة عن الأعطال في وحدة تحكّم "Firebase". باستخدام Crashlytics لمنصات Apple، يمكنك الحصول على تقارير عن الأعطال والأخطاء غير الخطيرة.
طلب إلى الذكاء الاصطناعي للحصول على مساعدة مستندة إليه
للحصول على مساعدة مستنِدة إلى الذكاء الاصطناعي، انسخ الطلب أدناه إلى وكيل الترميز بالذكاء الاصطناعي (مثل Antigravity وClaude Code وCodex وCursor). يمكنك تخصيص الطلب وتكراره مع الوكيل. انتقِل إلى مهارات وكلاء Firebase للحصول على معلومات مفصّلة عن التثبيت.
Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me set up Firebase Crashlytics for my app.
قبل البدء
يتطلّب إعداد Crashlytics تنفيذ مهام في كلّ من وحدة تحكّم Firebase وبيئة التطوير المتكاملة (IDE) (مثل إضافة ملف إعداد Firebase وحزمة تطوير البرامج (SDK) لخدمة Crashlytics). لإكمال عملية الإعداد، عليك فرض عطل تجريبي لإرسال أول تقرير أعطال إلى Firebase.
أضِف Firebase إلى مشروع Apple الخاص بك، في حال لم يسبق لك إجراء ذلك. إذا لم يكن لديك تطبيق Apple، يمكنك تنزيل نموذج تطبيق.
مقترَح: للحصول تلقائيًا على سجلّات خطوات المستخدم لفهم إجراءات المستخدمين التي تؤدي إلى حدوث تعطّل أو حدث غير خطير، يجب تفعيل "Google Analytics" في مشروع Firebase.
إذا كنت بصدد إنشاء مشروع جديد في Firebase، فعِّل Google Analytics أثناء خطوات إنشاء المشروع.
إذا كنت تستخدم مشروع Firebase حاليًا لم يتم تفعيل Google Analytics فيه، يمكنك تفعيله في صفحة
الإعدادات > عمليات الدمج ضمن وحدة تحكّم Firebase.
يُرجى العِلم أنّ سجلّات خطوات المستخدم متاحة لجميع أنظمة Apple الأساسية المتوافقة مع Crashlytics باستثناء watchOS.
الخطوة 1: إضافة حزمة تطوير البرامج (SDK) لـ "Crashlytics" إلى تطبيقك
استخدِم أداة Swift Package Manager لتثبيت تبعيات Firebase وإدارتها.
- في Xcode، افتح مشروع تطبيقك، ثم انتقِل إلى ملف > إضافة حِزم (File > Add Packages).
- عندما يُطلب منك ذلك، أضِف مستودع حزمة تطوير البرامج (SDK) لمنصات Apple في Firebase:
- اختَر مكتبة "Crashlytics".
- للاستفادة من سجلّات خطوات المستخدم، أضِف أيضًا حزمة Firebase SDK الخاصة بخدمة Google Analytics إلى تطبيقك. تأكَّد من تفعيل "إحصاءات Google" في مشروع Firebase.
- أضِف العلامة
-ObjCإلى قسم علامات الربط الأخرى (Other Linker Flags) في إعدادات الإنشاء الخاصة بالهدف. - (نظام التشغيل macOS فقط) في
Info.plist، أضِف المفتاحNSApplicationCrashOnExceptionsواضبطه علىYES. - بعد الانتهاء، سيبدأ Xcode تلقائيًا في حلّ التبعيات وتنزيلها في الخلفية.
https://github.com/firebase/firebase-ios-sdk.git
بعد ذلك، اضبط وحدة Firebase:
استورِد وحدة Firebase في بنية
AppأوUIApplicationDelegate:Swift
import Firebase
Objective-C
@import Firebase;
اضبط مثيلاً مشتركًا من
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 تلقائيًا ومعالجتها وتحميلها كلما أنشأت تطبيقك.
افتح مساحة عمل Xcode الخاصة بمشروعك، ثم اختَر ملف المشروع في لوحة التنقّل اليمنى.
من قائمة TARGETS (الأهداف)، اختَر هدف الإصدار الرئيسي.
انقر على علامة التبويب إعدادات الإصدار (Build Settings)، ثم أكمِل الخطوات التالية لكي ينشئ Xcode ملفات dSYM لإصداراتك.
انقر على الكل، ثم ابحث عن
debug information format.اضبط تنسيق معلومات تصحيح الأخطاء على
DWARF with dSYM Fileلجميع أنواع الإصدارات.
انقر على علامة التبويب مراحل الإنشاء (Build Phases)، ثم أكمِل الخطوات التالية ليتمكّن Xcode من معالجة ملفات dSYM وتحميلها.
انقر على > New Run Script Phase (مرحلة تشغيل نص برمجي جديدة).
تأكَّد من أنّ مرحلة Run Script الجديدة هي آخر مرحلة إنشاء في مشروعك، وإلا لن يتمكّن Crashlytics من معالجة ملفات dSYM بشكل صحيح.
وسِّع قسم تنفيذ النص البرمجي الجديد.
في حقل النص البرمجي (الموجود أسفل التصنيف Shell)، أضِف النص البرمجي التالي للتشغيل.
يعالج هذا النص البرمجي ملفات dSYM الخاصة بمشروعك ويحمّلها إلى Crashlytics.
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"في قسم ملفات الإدخال، أضِف المسارات لمواقع الملفات التالية:
${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)
ENABLE_USER_SCRIPT_SANDBOXING=YESوENABLE_DEBUG_DYLIB=YESفي إعدادات إصدار مشروعك، يُرجى تضمين ما يلي:${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib
لمزيد من المعلومات التفصيلية حول ملفات dSYM و"Crashlytics" (بما في ذلك كيفية تحميل ملفات dSYM يدويًا)، يُرجى الانتقال إلى الحصول على تقارير الأعطال التي تمت إزالة التشويش منها.
الخطوة 3: فرض عطل تجريبي لإنهاء عملية الإعداد
لإكمال إعداد Crashlytics والاطّلاع على البيانات الأولية في لوحة بيانات Crashlytics ضمن وحدة تحكّم Firebase، عليك فرض عطل تجريبي.
أضِف رمزًا إلى تطبيقك يمكنك استخدامه لفرض عطل تجريبي.
يمكنك استخدام الرمز التالي لإضافة زر إلى تطبيقك يؤدي الضغط عليه إلى حدوث عطل. يحمل الزر التصنيف "اختبار التعطُّل".
SwiftUI
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
أنشئ تطبيقك وشغِّله في Xcode مع إلغاء ربط مصحِّح أخطاء Xcode.
انقر على إنشاء ثم تشغيل المخطط الحالي لإنشاء تطبيقك على جهاز اختباري أو محاكي.
انتظِر حتى يتم تشغيل تطبيقك، ثم انقر على إيقاف تشغيل المخطط أو الإجراء لإغلاق المثيل الأولي لتطبيقك. يتضمن هذا المثيل الأولي مصحح الأخطاء الذي يتداخل مع Crashlytics.
افرض حدوث عطل تجريبي لإرسال أول تقرير عن الأعطال في تطبيقك:
افتح تطبيقك من الشاشة الرئيسية لجهاز الاختبار أو المحاكي.
في تطبيقك، اضغط على الزر "اختبار التعطُّل" الذي أضفته باستخدام الرمز أعلاه.
بعد تعطُّل تطبيقك، شغِّله مرة أخرى من Xcode ليتمكّن تطبيقك من إرسال تقرير التعطُّل إلى Firebase.
في وحدة تحكّم Firebase، انتقِل إلى عمليات التطوير والتفاعل > لوحة بيانات Crashlytics للتحقّق من تقرير الأعطال التجريبي.
إذا أعدت تحميل وحدة التحكّم وما زال العطل التجريبي لا يظهر بعد خمس دقائق، يمكنك تفعيل تسجيل تصحيح الأخطاء لمعرفة ما إذا كان تطبيقك يرسل تقارير الأعطال.
هذا كل ما في الأمر! يراقب Crashlytics الآن تطبيقك بحثًا عن أي أعطال. انتقِل إلى لوحة بيانات Crashlytics للاطّلاع على جميع التقارير والإحصاءات والتحقيق فيها.
الخطوات التالية
خصِّص إعدادات تقارير الأعطال من خلال إضافة ميزة الموافقة على إعداد التقارير والسجلّات والمفاتيح وتتبُّع الأخطاء غير الفادحة.
تصدير بياناتك إلى BigQuery أو Cloud Logging للاستفادة من الميزات والتحليلات المتقدّمة، مثل الاستعلام عن بياناتك وإنشاء لوحات بيانات مخصّصة وإعداد تنبيهات مخصّصة