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

قبل البدء

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

الخطوة 1: إضافة "مراقبة الأداء" إلى تطبيقك

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

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

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

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

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

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

    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:) الخاصة بمفوَّض تطبيقك:

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

    // 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.

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

    @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 (الإصدار 14.1 بحدٍ أدنى)، اختَر المنتج > المخطّط > تعديل المخطط.
    2. حدد تشغيل من القائمة اليمنى، ثم حدد علامة التبويب الوسيطات.
    3. في قسم الوسيطات التي تم تمريرها عند الإطلاق، أضِف -FIRDebugEnabled.
  2. تحقَّق من رسائل السجلّ بحثًا عن أي رسائل خطأ.

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

  4. تحقَّق من الأنواع التالية من السجلّات التي تشير إلى أنّ ميزة "مراقبة الأداء" تسجِّل أحداث الأداء:

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

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

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

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

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

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

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

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

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

يمكنك تتبُّع بيانات الأداء من خلال لوحة بيانات الأداء ضمن وحدة تحكُّم Firebase.

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

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

الخطوات اللاحقة