לפני שמתחילים
אם עדיין לא עשיתם את זה, אתם צריכים להוסיף את Firebase לפרויקט Apple.
שלב 1: מוסיפים את Performance Monitoring לאפליקציה
אחרי שמוסיפים את Performance Monitoring SDK, Firebase מתחיל באופן אוטומטי לאסוף נתונים לגבי עיבוד המסך של האפליקציה, נתונים שקשורים למחזור החיים של האפליקציה (כמו זמן הפעלת האפליקציה) ונתונים לגבי בקשות רשת HTTP/S.
משתמשים ב-Swift Package Manager כדי להתקין ולנהל יחסי תלות ב-Firebase.
- ב-Xcode, כשפרויקט האפליקציה פתוח, עוברים אל File > Add Packages (קובץ > הוספת חבילות).
- כשמוצגת בקשה, מוסיפים את מאגר Firebase Apple platforms SDK:
- בוחרים בספרייה 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, אתם צריכים ליצור נציג אפליקציה ולצרף אותו למבנה
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() } } } }
-
קומפילציה מחדש של האפליקציה.
שלב 2: יצירת אירועי ביצועים להצגת הנתונים הראשונית
מערכת Firebase מתחילה לעבד את האירועים אחרי שמוסיפים את ה-SDK לאפליקציה. אם אתם עדיין מפתחים באופן מקומי, כדאי ליצור אינטראקציה עם האפליקציה כדי ליצור אירועים לאיסוף ועיבוד ראשוני של נתונים.
ממשיכים לפתח את האפליקציה באמצעות סימולטור או מכשיר בדיקה.
כדי ליצור אירועים, צריך להעביר את האפליקציה בין הרקע לחזית כמה פעמים, לבצע אינטראקציה עם האפליקציה על ידי מעבר בין מסכים ו/או להפעיל בקשות לרשת.
עוברים אל מרכז הבקרה לבדיקת ביצועים במסוף Firebase. הנתונים הראשוניים אמורים להופיע תוך כמה דקות.
אם לא מוצגים הנתונים הראשוניים, כדאי לעיין בטיפים לפתרון בעיות.
שלב 3: (אופציונלי) הצגת הודעות ביומן לגבי אירועי ביצועים
מפעילים את הרישום של ניפוי הבאגים ביומן באופן הבא:
- ב-Xcode (גרסה 26.2 ומעלה), לוחצים על Product (מוצר) > Scheme (סכימה) > Edit scheme (עריכת הסכימה).
- בתפריט הימני, לוחצים על Run (הפעלה) ואז על הכרטיסייה Arguments (ארגומנטים).
- בקטע Arguments Passed on Launch (ארגומנטים שהערך שלהם נקבע בהפעלה), מוסיפים את הערך
-FIRDebugEnabled.
בודקים אם יש הודעות שגיאה ביומני הרישום.
Performance Monitoring מתייג את ההודעות ביומן באמצעות
Firebase/Performanceכדי שתוכלו לסנן את ההודעות ביומן.בודקים אם יש יומנים מהסוגים הבאים, שמציינים ש-Performance Monitoring מתעד אירועי ביצועים:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URLLogging network request trace: URL
לוחצים על כתובת ה-URL כדי לראות את הנתונים במסוף Firebase. יכול להיות שיחלפו כמה רגעים עד שהנתונים יתעדכנו בלוח הבקרה.
אם האפליקציה לא מתעדת אירועי ביצועים, כדאי לעיין בטיפים לפתרון בעיות.
שלב 4: (אופציונלי) הוספת מעקב מותאם אישית לקוד ספציפי
כדי לעקוב אחרי נתוני ביצועים שמשויכים לקוד ספציפי באפליקציה, אפשר להשתמש בעקבות של קוד בהתאמה אישית.
באמצעות מעקב מותאם אישית אחר קוד, אפשר למדוד כמה זמן לוקח לאפליקציה להשלים משימה ספציפית או קבוצה של משימות, כמו טעינה של קבוצת תמונות או שליחת שאילתה למסד הנתונים. מדד ברירת המחדל למעקב אחר קוד מותאם אישית הוא משך הזמן, אבל אפשר גם להוסיף מדדים מותאמים אישית, כמו פגיעות במטמון ואזהרות לגבי זיכרון.
בקוד, מגדירים את ההתחלה והסוף של מעקב קוד בהתאמה אישית (ומוסיפים מדדים בהתאמה אישית שרוצים) באמצעות ה-API שמסופק על ידי Performance Monitoring SDK.
במאמר בנושא הוספת מעקב לקוד ספציפי יש מידע נוסף על התכונות האלה ועל אופן ההוספה שלהן לאפליקציה.
שלב 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 Simulator ובגרסאות מאוחרות יותר.
- חיבורים שנוצרו באמצעות
backgroundSessionConfigurationשל NSURLSession יציגו זמני חיבור ארוכים מהצפוי. החיבורים האלה מבוצעים מחוץ לתהליך, והתזמונים משקפים אירועי קריאה חוזרת בתוך התהליך.
השלבים הבאים
בודקים ומריצים את Performance Monitoring דוגמת קוד ל-iOS ב-GitHub.
Performance Monitoringמידע נוסף על נתונים שנאספים באופן אוטומטי
- נתונים שקשורים למחזור החיים של האפליקציה, כמו זמן הפעלת האפליקציה
- נתונים לגבי עיבוד המסך באפליקציה
- נתונים של בקשות רשת מסוג HTTP/S שהונפקו על ידי האפליקציה
אפשר לראות, לעקוב ולסנן את נתוני הביצועים במסוף Firebase.
כדי להוסיף מעקב אחרי משימות או תהליכי עבודה ספציפיים באפליקציה, צריך להטמיע מעקב אחרי קוד מותאם אישית.