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