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