לפני שמתחילים
אם עדיין לא הוספתם את Firebase לפרויקט Apple, אתם צריכים להוסיף אותו.
שלב 1: מוסיפים את Performance Monitoring לאפליקציה
אחרי שמוסיפים את ה-SDK של Performance Monitoring, המערכת של Firebase מתחילה לאסוף באופן אוטומטי נתונים על רינדור המסך של האפליקציה, נתונים שקשורים למחזור החיים של האפליקציה (כמו זמן ההפעלה של האפליקציה) ונתונים על בקשות HTTP/S לאחזור מהרשת.
משתמשים ב-Swift Package Manager כדי להתקין ולנהל את יחסי התלות של Firebase.
- ב-Xcode, כשהפרויקט של האפליקציה פתוח, עוברים אל File > Add Packages (קובץ > הוספת חבילות).
- כשמוצגת בקשה, מוסיפים את מאגר ה-SDK של Firebase לפלטפורמות של אפל:
- בוחרים את הספרייה Performance Monitoring.
- מוסיפים את הדגל
-ObjCלקטע Other Linker Flags (דגלים אחרים של מקשרים) בהגדרות ה-build של היעד. - אחרי שתסיימו, פלטפורמת Xcode תתחיל לטפל ביחסי התלות ולהוריד אותם באופן אוטומטי ברקע.
https://github.com/firebase/firebase-ios-sdk.git
בשלב הבא, מגדירים את מודול Firebase:
- מייבאים את המודול
FirebaseCoreאלUIApplicationDelegate, וגם כל מודול Firebase אחר שבו משתמש ה-app delegate. לדוגמה, כדי להשתמש ב-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ב-methodapplication(_: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, אתם צריכים ליצור נציג של האפליקציה ולצרף אותו ל-struct של
AppבאמצעותUIApplicationDelegateAdaptorאוNSApplicationDelegateAdaptor. צריך גם להשבית את ה-swizzling של נציג האפליקציה. מידע נוסף זמין בהוראות של 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 לאפליקציה. אם אתם עדיין מפתחים באופן מקומי, אתם צריכים לבצע פעולות באפליקציה כדי ליצור אירועים לאיסוף ולעיבוד ראשוני של נתונים.
ממשיכים לפתח את האפליקציה באמצעות סימולטור או מכשיר בדיקה.
כדי ליצור אירועים, מעבירים את האפליקציה בין הרקע לחזית כמה פעמים, מבצעים פעולות באפליקציה על ידי ניווט בין מסכים ו/או מפעילים בקשות לאחזור מהרשת.
נכנסים למרכז הבקרה Performance במסוף 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: (אופציונלי) הוספת מעקב מותאם אישית לקוד ספציפי
כדי לעקוב אחרי נתוני ביצועים שמשויכים לקוד ספציפי באפליקציה, אתם יכולים להוסיף מעקבים אחר קוד בהתאמה אישית.
בעזרת מעקב אחר קוד בהתאמה אישית, אתם יכולים למדוד כמה זמן לוקח לאפליקציה להשלים משימה ספציפית או קבוצת משימות, כמו טעינה של קבוצת תמונות או שליחת שאילתה למסד הנתונים. מדד ברירת המחדל למעקב אחר קוד בהתאמה אישית הוא משך הזמן, אבל אפשר גם להוסיף מדדים מותאמים אישית, כמו מציאה במטמון (cache hit) ואזהרות לגבי זיכרון.
בקוד, אתם מגדירים את ההתחלה והסוף של מעקב אחר קוד בהתאמה אישית (ומוסיפים את המדדים המותאמים אישית הרצויים) באמצעות ה-API שסופק על ידי ה-SDK של Performance Monitoring.
במאמר הוספת מעקב אחר קוד ספציפי מוסבר בהרחבה על התכונות האלה ואיך להוסיף אותן לאפליקציה.
שלב 5: פורסים את האפליקציה ובודקים את התוצאות
אחרי שמאמתים את Performance Monitoring באמצעות הסימולטור של Xcode ומכשיר בדיקה אחד או יותר, אפשר לפרוס את הגרסה המעודכנת של האפליקציה למשתמשים.
אפשר לעקוב אחרי נתוני הביצועים בלוח הבקרה Performance במסוף 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 יציגו זמני חיבור ארוכים מהצפוי. החיבורים האלה מתבצעים מחוץ לתהליך, והתזמונים משקפים אירועי קריאה חוזרת (callback) בתוך התהליך.
השלבים הבאים
בודקים ומריצים את דוגמת הקוד של Performance Monitoring ל-iOS ב-GitHub.
מידע נוסף על נתונים שנאספים באופן אוטומטי על ידי Performance Monitoring:
- נתונים שקשורים למחזור החיים של האפליקציה, כמו שעת התחלה של האפליקציה
- נתונים לגבי עיבוד המסך באפליקציה
- נתונים של בקשות לאחזור מהרשת מסוג HTTP/S שהאפליקציה שלחה
לצפות בנתוני הביצועים, לעקוב אחריהם ולסנן אותם במסוף Firebase.
להוסיף מעקב אחר משימות או תהליכי עבודה ספציפיים באפליקציה באמצעות הוספת מעקבי קוד בהתאמה אישית.