לפני שמתחילים
אם עדיין לא הוספתם את 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 של ה-app delegate. מידע נוסף זמין בהוראות של 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: (אופציונלי) הוספת מעקב מותאם אישית לקוד ספציפי
כדי לעקוב אחרי נתוני ביצועים שמשויכים לקוד ספציפי באפליקציה, אתם יכולים להגדיר מעקבים אחר קוד בהתאמה אישית.
מעקב אחר קוד בהתאמה אישית מאפשר לכם למדוד כמה זמן לוקח לאפליקציה להשלים משימה ספציפית או קבוצת משימות, כמו טעינה של קבוצת תמונות או שליחת שאילתה למסד הנתונים. המדד שמוגדר כברירת מחדל למעקב אחר קוד בהתאמה אישית הוא משך הזמן, אבל אפשר גם להוסיף מדדים מותאמים אישית, כמו מציאה במטמון (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.
להוסיף מעקב אחר משימות או תהליכי עבודה ספציפיים באפליקציה באמצעות הוספת מעקבי קוד בהתאמה אישית.