قبل از شروع
اگر قبلاً این کار را نکردهاید، Firebase را به پروژه Apple خود اضافه کنید.
مرحله ۱: Performance Monitoring را به برنامهتان اضافه کنید
پساز افزودن کیت توسعه نرمافزار Performance Monitoring، Firebase بهطور خودکار شروع به جمعآوری داده برای پرداز صفحه برنامه شما، دادههای مربوط به چرخه حیات برنامه شما (مانند زمان شروع برنامه)، و دادههای مربوط به درخواستهای شبکه HTTP/S میکند.
از Swift Package Manager برای نصب و مدیریت وابستگیهای Firebase استفاده کنید.
- در Xcode، درحالیکه پروژه برنامهتان باز است، به File (فایل) > Add Packages (افزودن بستهها) بروید.
- وقتی خواسته شد، مخزن کیت توسعه نرمافزار Firebase برای پلاتفرمهای Apple را اضافه کنید:
- کتابخانه Performance Monitoring را انتخاب کنید.
- پرچم
-ObjCرا به بخش Other Linker Flags (سایر پرچمهای پیونددهنده) در تنظیمات ساخت هدف اضافه کنید. - پساز اتمام، Xcode بهطور خودکار شروع به حل و بارگیری وابستگیهای شما در پسزمینه میکند.
https://github.com/firebase/firebase-ios-sdk.git
سپس، واحد Firebase را پیکربندی کنید:
- واحد
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; // ...
- یک
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];
- اگر از 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() } } } }
-
برنامهتان را بازهمگردانی کنید.
مرحله ۲: تولید رویدادهای عملکرد برای نمایش اولیه دادهها
وقتی «کیت توسعه نرمافزار» را باموفقیت به برنامهتان اضافه کنید، Firebase پردازش رویدادها را شروع میکند. اگر هنوز درحال توسعه محلی هستید، با برنامهتان تعامل برقرار کنید تا رویدادهایی برای جمعآوری و پردازش اولیه دادهها ایجاد شود.
بااستفاده از شبیهساز یا دستگاه آزمایشی، به توسعه برنامهتان ادامه دهید.
با جابهجا کردن برنامهتان بین پسزمینه و پیشزمینه برای چند بار، تعامل با برنامهتان ازطریق پیمایش در صفحهها، و/یا راهاندازی درخواستهای شبکه، رویداد ایجاد کنید.
به داشبورد عملکرد کنسول Firebase بروید. باید دادههای اولیهتان را ظرف چند دقیقه ببینید.
اگر نمایش دادههای اولیه خود را نمیبینید، نکات عیبیابی را مرور کنید.
مرحله ۳: (اختیاری) مشاهده پیامهای گزارش برای رویدادهای عملکرد
گزارشگیری اشکالزدایی را بهصورت زیر فعال کنید:
- در Xcode (حداقل نسخه ۲۶.۲)، محصول > طرح > ویرایش طرح را انتخاب کنید.
- اجرا را از منوِ سمت راست انتخاب کنید، سپس زبانه آرگومانها را انتخاب کنید.
- در بخش Arguments Passed on Launch،
-FIRDebugEnabledرا اضافه کنید.
پیامهای گزارش را برای پیدا کردن پیامهای خطا بررسی کنید.
Performance Monitoring پیامهای گزارش خود را با
Firebase/Performanceبرچسبگذاری میکند تا بتوانید پیامهای گزارش خود را فیلتر کنید.انواع گزارشهای زیر را که نشان میدهد Performance Monitoring رویدادهای عملکرد را ثبت میکند بررسی کنید:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URLLogging network request trace: URL
روی نشانی وب کلیک کنید تا دادههایتان را در کنسول Firebase ببینید. ممکن است چند لحظه طول بکشد تا دادهها در داشبورد بهروز شود.
اگر برنامهتان رویدادهای عملکرد را ثبت نمیکند، نکات عیبیابی را مرور کنید.
مرحله ۴: (اختیاری) افزودن پایش سفارشی برای کد خاص
برای نظارت بر دادههای عملکرد مرتبط با کد خاصی در برنامهتان، میتوانید ردگیریهای کد سفارشی را ابزاربندی کنید.
با ردگیری کد سفارشی، میتوانید مدت زمان لازم برای تکمیل یک تکلیف خاص یا مجموعهای از تکالیف توسط برنامهتان را اندازهگیری کنید، مانند بار کردن مجموعهای از تصاویر یا پرسوجو از پایگاه دادهتان. سنجه پیشفرض برای ردگیری کد سفارشی مدتزمان آن است، اما میتوانید سنجههای سفارشی نیز اضافه کنید، مثل بازدیدهای حافظه پنهان و هشدارهای حافظه.
در کدتان، ابتدا و انتهای ردگیری کد سفارشی را تعریف میکنید (و هر سنجه سفارشی دلخواهی را اضافه میکنید) و از میانای برنامهسازی کاربردی ارائهشده توسط Performance Monitoring SDK استفاده میکنید.
برای کسب اطلاعات بیشتر درباره این ویژگیها و نحوه افزودن آنها به برنامهتان، به افزودن نظارت برای کد خاص مراجعه کنید.
مرحله ۵: برنامهتان را مستقر کنید، سپس نتایج را بررسی کنید
پساز اعتبارسنجی Performance Monitoring بااستفاده از شبیهساز Xcode و یک یا چند دستگاه آزمایشی، میتوانید نسخه بهروزشده برنامهتان را برای کاربران خود مستقر کنید.
میتوانید دادههای عملکرد را در داشبورد عملکرد در کنسول Firebase پایش کنید.
مشکلات شناخته شده
- Performance Monitoring مشکلات سازگاری شناختهشدهای با GTMSQLite دارد. توصیه میکنیم از Performance Monitoring با برنامههایی که از GTMSQLite استفاده میکنند استفاده نکنید.
- روش تغییر پیادهسازی پساز فراخوانی
FirebaseApp.configure()ممکن است با کیت توسعه نرمافزار Performance Monitoring تداخل داشته باشد. - مشکلات شناختهشده با شبیهساز iOS 8.0-8.2 مانع از ضبط رویدادهای عملکردی توسط Performance Monitoring میشود. این مشکلات در شبیهساز iOS 8.3 و نسخههای جدیدتر برطرف شده است.
- اتصالهای برقرارشده بااستفاده از
backgroundSessionConfigurationNSURLSession زمان اتصال طولانیتری نسبتبه حد انتظار خواهند داشت. این اتصالات خارج از فرایند اجرا میشوند و زمانبندیها رویدادهای فراخوانی برگشتی درون فرایند را منعکس میکنند.
مراحل بعدی
نمونه کد iOS را در GitHub Performance Monitoring مرور و اجرا کنید.
درباره دادههایی که بهطور خودکار توسط Performance Monitoring جمعآوری میشود بیشتر بدانید:
- دادههای مربوط به چرخه حیات برنامهتان، مثل زمان شروع برنامه
- دادههای مربوط به پرداز زدن صفحهنمایش در برنامه شما
- دادههای مربوط به درخواستهای شبکه HTTP/S که برنامه شما صادر کرده است
دادههای عملکردتان را در کنسول Firebase مشاهده، پیگیری، و فیلتر کنید.
با ابزارسازی ردیابیهای کد سفارشی، برای تکالیف یا گردشهای کاری خاص در برنامهتان پایش اضافه کنید.