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

قبل البدء

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

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

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

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

  1. في Xcode، مع فتح مشروع تطبيقك، انتقِل إلى ملف > إضافة حِزم.
  2. أضِف مستودع حزمة تطوير البرامج (SDK) لمنصّات Firebase Apple عندما يُطلب منك ذلك:
  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 ستظهر أوقات اتصال أطول من المتوقع. هذه الاتصالات خارج المعالجة وتعكس التوقيتات أحداث الاستدعاء أثناء العملية.

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