شروع به کار با «پایش عملکرد» برای پلاتفرم‌های Apple

قبل از شروع

اگر قبلاً این کار را نکرده‌اید، ‫Firebase را به پروژه Apple خود اضافه کنید.

مرحله ۱: افزودن Performance Monitoring به برنامه

پس‌از افزودن Performance Monitoring SDK،‏ Firebase به‌طور خودکار شروع به جمع‌آوری داده‌ها برای پرداز صفحه برنامه شما، داده‌های مربوط به چرخه حیات برنامه شما (مثل زمان شروع برنامه)، و داده‌های مربوط به درخواست‌های شبکه HTTP/S می‌کند.

از «مدیر بسته Swift» برای نصب و مدیریت وابستگی‌های Firebase استفاده کنید.

  1. در Xcode، با باز بودن پروژه برنامه، به File > Add Packages (فایل > افزودن بسته‌ها) پیمایش کنید.
  2. وقتی درخواست شد، مخزن کیت توسعه نرم‌افزار پلاتفرم‌های 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 استفاده می‌کنید، باید نماینده برنامه ایجاد کنید و آن را ازطریق UIApplicationDelegateAdaptor یا NSApplicationDelegateAdaptor به ساختار App پیوست کنید. همچنین باید تغییرات در نماینده برنامه را غیرفعال کنید. برای اطلاعات بیشتر، دستورالعمل‌های 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. برنامه را مجدداً کامپایل کنید.

مرحله ۲: تولید رویدادهای عملکرد برای نمایش اولیه داده‌ها

وقتی «کیت توسعه نرم‌افزار» را باموفقیت به برنامه‌تان اضافه کردید، Firebase پردازش رویدادها را شروع می‌کند. اگر هنوز درحال توسعه محلی هستید، با برنامه‌تان تعامل داشته باشید تا رویدادهایی برای جمع‌آوری و پردازش اولیه داده‌ها تولید کنید.

  1. بااستفاده از شبیه‌ساز یا دستگاه آزمایش، به توسعه برنامه خود ادامه دهید.

  2. با چندین بار جابه‌جا کردن برنامه بین پس‌زمینه و پیش‌زمینه، تعامل با برنامه ازطریق پیمایش در صفحه‌ها، و/یا راه‌اندازی درخواست‌های شبکه، رویداد تولید کنید.

  3. به داشبورد عملکرد کنسول Firebase بروید. باید نمایش داده‌های اولیه را ظرف چند دقیقه ببینید.

    اگر نمایش داده‌های اولیه را نمی‌بینید، نکات عیب‌یابی را مرور کنید.

مرحله ۳: (اختیاری) مشاهده پیام‌های گزارش برای رویدادهای عملکرد

  1. گزارش‌گیری اشکال‌زدایی را به‌صورت زیر فعال کنید:

    1. در Xcode (حداقل نسخه ۲۶.۲)، محصول > طرح > ویرایش طرح را انتخاب کنید.
    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. برای مشاهده داده‌هایتان در کنسول Firebase، روی نشانی وب کلیک کنید. ممکن است چند لحظه طول بکشد تا داده‌ها در داشبورد به‌روزرسانی شود.

اگر برنامه شما رویدادهای عملکرد را ثبت نمی‌کند، نکات عیب‌یابی را مرور کنید.

مرحله ۴: (اختیاری) افزودن پایش سفارشی برای کد خاص

برای نظارت بر داده‌های عملکرد مرتبط با کد خاص در برنامه‌تان، می‌توانید ردپاهای کد سفارشی را ابزاربندی کنید.

با ردیابی کد سفارشی، می‌توانید اندازه‌گیری کنید که برنامه شما چقدر طول می‌کشد تا تکلیف یا مجموعه‌ای از تکالیف خاصی را، مثل بار کردن مجموعه‌ای از تصاویر یا پُرسمان پایگاه داده، تکمیل کند. سنجه پیش‌فرض برای ردیابی کد سفارشی مدت آن است، اما می‌توانید سنجه‌های سفارشی مثل بازدیدهای حافظه نهان و هشدارهای حافظه را نیز اضافه کنید.

در کد خود، بااستفاده از میانای برنامه‌سازی کاربردی ارائه‌شده توسط کیت توسعه نرم‌افزار Performance Monitoring، شروع و پایان ردیابی کد سفارشی را تعریف می‌کنید (و هر سنجه سفارشی دلخواه را اضافه می‌کنید).

برای کسب اطلاعات بیشتر درباره این ویژگی‌ها و نحوه افزودن آن‌ها به برنامه‌تان، به افزودن پایش برای کد خاص مراجعه کنید.

مرحله ۵: برنامه را مستقر کنید و سپس نتایج را بررسی کنید

پس‌از اینکه Performance Monitoring را بااستفاده از شبیه‌ساز Xcode و یک یا چند دستگاه آزمایشی اعتبارسنجی کردید، می‌توانید نسخه به‌روزشده برنامه‌تان را برای کاربران خودتان مستقر کنید.

می‌توانید داده‌های عملکرد را در داشبورد «عملکرد» کنسول Firebase نظارت کنید.

مشکلات شناخته شده

  • ‫Performance Monitoring با GTMSQLite مشکلات سازگاری شناخته‌شده‌ای دارد. توصیه می‌کنیم از Performance Monitoring با برنامه‌هایی که از GTMSQLite استفاده می‌کنند استفاده نکنید.
  • جایگزینی روش پس‌از فراخوانی FirebaseApp.configure() ممکن است با کیت توسعه نرم‌افزار Performance Monitoring تداخل کند.
  • مشکلات شناخته‌شده در «شبیه‌ساز iOS 8.0-8.2» مانع از ثبت رویدادهای عملکرد توسط Performance Monitoring می‌شود. این مشکلات در «شبیه‌ساز iOS 8.3» و نسخه‌های جدیدتر برطرف شده است.
  • اتصال‌های برقرارشده بااستفاده از backgroundSessionConfiguration در NSURLSession زمان اتصال طولانی‌تر از حد انتظار را نشان خواهند داد. این اتصالات خارج از فرایند اجرا می‌شوند و زمان‌بندی‌ها رویدادهای تماس برگشتی درون فرایند را منعکس می‌کنند.

مراحل بعدی