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

قبل البدء

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

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

بعد إضافة حزمة تطوير البرامج (SDK) لمنصّة Performance Monitoring، تبدأ Firebase تلقائيًا في جمع data لميزة عرض الشاشة في تطبيقك، وdata المتعلّقة بدورة حياة تطبيقك (مثل وقت بدء تشغيل التطبيق)، و data لطلبات الشبكة من خلال بروتوكول 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 إلى قسم رموز ربط أخرى في إعدادات الإنشاء الخاصة بالهدف.
  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.

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

    @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 (الإصدار 15.2 بحد أدنى)، اختَر المنتج > المخطّط > تعديل المخطّط.
    2. حدد تشغيل من القائمة اليمنى، ثم حدد علامة التبويب الوسيطات.
    3. في قسم المَعلمات التي تم تمريرها عند الإطلاق، أضِف -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 والإصدارات الأحدث.
  • إنّ عمليات الربط التي يتم إجراؤها باستخدام backgroundSessionConfiguration في NSURLSession ستظهر أوقات اتصال أطول من المتوقع. يتم تنفيذ هذه الاتصالات خارج العملية، وتعكس التوقيتات أحداث الاستدعاء داخل العملية.

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