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

قبل البدء

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

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

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

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

  1. في Xcode، مع فتح مشروع تطبيقك، انتقِل إلى ملف > إضافة حِزم.
  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.

    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 ستظهر أوقات اتصال أطول من المتوقع. يتم تنفيذ هذه الاتصالات خارج العملية، وتعكس التوقيتات أحداث الاستدعاء داخل العملية.

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