بدء استخدام "مراقبة الأداء" لمنصات Apple

قبل البدء

أضِف Firebase إلى مشروع Apple الخاص بك، في حال لم يسبق لك إجراء ذلك.

الخطوة 1: إضافة Performance Monitoring إلى تطبيقك

بعد إضافة حزمة تطوير البرامج (SDK) لـ Performance Monitoring، تبدأ Firebase تلقائيًا في جمع البيانات المتعلّقة بعرض الشاشة في تطبيقك، والبيانات المتعلّقة بمراحل نشاط تطبيقك (مثل وقت بدء التطبيق)، والبيانات المتعلّقة بطلبات شبكة HTTP/S.

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

  1. في Xcode، افتح مشروع تطبيقك، ثم انتقِل إلى ملف > إضافة حِزم (File > Add Packages).
  2. عندما يُطلب منك ذلك، أضِف مستودع حزمة تطوير البرامج (SDK) لمنصات Apple في Firebase:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. اختَر مكتبة "Performance Monitoring".
  5. أضِف العلامة -ObjC إلى قسم علامات الربط الأخرى (Other Linker Flags) في إعدادات الإنشاء الخاصة بالهدف.
  6. بعد الانتهاء، سيبدأ Xcode تلقائيًا في حلّ التبعيات وتنزيلها في الخلفية.

بعد ذلك، اضبط وحدة Firebase:

  1. استورِد وحدة FirebaseCore في UIApplicationDelegate، بالإضافة إلى أي وحدات Firebase أخرى يستخدمها مفوَّض تطبيقك. على سبيل المثال، لاستخدام Cloud Firestore وAuthentication:

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. اضبط مثيلاً مشتركًا من النوع FirebaseApp في طريقة application(_:didFinishLaunchingWithOptions:) لمفوَّض تطبيقك:

    SwiftUI

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

    Swift

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

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. إذا كنت تستخدم SwiftUI، عليك إنشاء مفوَّض تطبيق وإرفاقه ببنية App من خلال UIApplicationDelegateAdaptor أو NSApplicationDelegateAdaptor. يجب أيضًا إيقاف ميزة "تبديل مفوّض التطبيق". لمزيد من المعلومات، يُرجى الاطّلاع على تعليمات SwiftUI.

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. أعِد تجميع تطبيقك.

الخطوة 2: إنشاء أحداث الأداء لعرض البيانات الأولية

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

  1. واصِل تطوير تطبيقك باستخدام محاكي أو جهاز اختباري.

  2. يمكنك إنشاء أحداث من خلال تبديل تطبيقك بين الخلفية والمقدمة عدة مرات، والتفاعل مع تطبيقك من خلال التنقل عبر الشاشات، و/أو تشغيل طلبات الشبكة.

  3. انتقِل إلى لوحة بيانات الأداء في وحدة تحكّم "Firebase". من المفترض أن تظهر بياناتك الأولية في غضون بضع دقائق.

    إذا لم تظهر بياناتك الأولية، راجِع نصائح تحديد المشاكل وحلّها.

الخطوة 3: (اختياري) عرض الرسائل المسجّلة لأحداث الأداء

  1. فعِّل ميزة تسجيل معلومات تصحيح الأخطاء على النحو التالي:

    1. في Xcode (الإصدار 26.2 على الأقل)، انقر على المنتج (Product) > المخطّط (Scheme) > تعديل المخطّط (Edit scheme).
    2. انقر على تشغيل (Run) من القائمة اليمنى، ثمّ انقر على علامة التبويب الوسيطات (Arguments).
    3. في قسم المَعلمات التي تم ضبطها عند الإطلاق (Arguments Passed On Launch)، أضِف -FIRDebugEnabled.
  2. راجِع الرسائل المسجّلة بحثًا عن أي رسائل خطأ.

  3. يضع Performance Monitoring علامات على رسائله المسجّلة باستخدام Firebase/Performance لتتمكّن من فلترة رسائلك المسجّلة.

  4. ابحث عن أنواع السجلّات التالية التي تشير إلى أنّ Performance Monitoring يسجّل أحداث الأداء:

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. انقر على عنوان URL لعرض بياناتك في وحدة تحكُّم Firebase. قد يستغرق تحديث البيانات في لوحة البيانات بضع لحظات.

إذا لم يكن تطبيقك يسجّل أحداث الأداء، راجِع نصائح تحديد المشاكل وحلّها.

الخطوة 4: (اختياري) إضافة مراقبة مخصّصة لرمز معيّن

لمراقبة بيانات الأداء المرتبطة برمز معيّن في تطبيقك، يمكنك إعداد عمليات تتبُّع الرموز المخصّصة.

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

في الرمز البرمجي، يمكنك تحديد بداية تتبُّع الرمز المخصّص ونهايته (وإضافة أي مقاييس مخصّصة مطلوبة) باستخدام واجهة برمجة التطبيقات التي توفّرها حزمة تطوير البرامج (SDK) في Performance Monitoring.

انتقِل إلى صفحة إضافة ميزة مراقبة رمز معيّن لمزيد من المعلومات حول هذه الميزات وكيفية إضافتها إلى تطبيقك.

الخطوة 5: نشر تطبيقك ثم مراجعة النتائج

بعد التحقّق من صحة Performance Monitoring باستخدام محاكي Xcode وجهاز اختبار واحد أو أكثر، يمكنك نشر الإصدار المحدَّث من تطبيقك للمستخدمين.

يمكنك مراقبة بيانات الأداء في لوحة بيانات الأداء ضمن وحدة تحكّم "Firebase".

المشكلات المعروفة

  • يتضمّن الإصدار Performance Monitoring مشاكل توافق معروفة مع GTMSQLite. ننصح بعدم استخدام Performance Monitoring مع التطبيقات التي تستخدم GTMSQLite.
  • قد يؤدي تغيير وظيفة الإجراء بعد استدعاء FirebaseApp.configure() إلى التداخل مع حزمة تطوير البرامج (SDK) لـ Performance Monitoring.
  • تمنع المشاكل المعروفة في محاكي iOS 8.0-8.2 أداة Performance Monitoring من تسجيل أحداث الأداء. تم إصلاح هذه المشاكل في iOS 8.3 Simulator والإصدارات الأحدث.
  • ستستغرق الاتصالات التي يتم إنشاؤها باستخدام backgroundSessionConfiguration من NSURLSession وقتًا أطول من المتوقع. يتم تنفيذ عمليات الربط هذه خارج العملية، وتعكس التوقيتات أحداث معاودة الاتصال داخل العملية.

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