לפני שמתחילים
אם עדיין לא הוספתם את 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; // ...
- מגדירים מופע משותף בשיטה
application(_:didFinishLaunchingWithOptions:)של נציג האפליקציה:FirebaseAppSwiftUI
// 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 (גרסה 16.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 ובגרסאות מאוחרות יותר.
- חיבורים שנוצרו באמצעות
backgroundSessionConfigurationשל NSURLSession יציגו זמני חיבור ארוכים מהצפוי. החיבורים האלה מבוצעים מחוץ לתהליך, והתזמונים משקפים אירועי קריאה חוזרת בתוך התהליך.
השלבים הבאים
בודקים ומריצים את Performance Monitoring קוד לדוגמה ל-iOS ב-GitHub.
מידע נוסף על נתונים שנאספים באופן אוטומטי על ידי Performance Monitoring
- נתונים שקשורים למחזור החיים של האפליקציה, כמו זמן הפעלת האפליקציה
- נתונים לגבי רינדור המסך באפליקציה
- נתונים של בקשות רשת מסוג HTTP/S שהונפקו על ידי האפליקציה
הצגה, מעקב וסינון של נתוני הביצועים במסוף Firebase.
כדי להוסיף מעקב אחרי משימות או תהליכי עבודה ספציפיים באפליקציה, צריך להטמיע מעקב אחרי קוד מותאם אישית.