תחילת העבודה עם Performance Monitoring בפלטפורמות של Apple

לפני שמתחילים

אם עדיין לא עשיתם זאת, מוסיפים את Firebase לפרויקט Apple.

שלב 1: מוסיפים את Performance Monitoring לאפליקציה

אחרי שמוסיפים את ה-SDK Performance Monitoring, מערכת Firebase מתחילה לאסוף באופן אוטומטי נתונים לגבי רינדור המסך של האפליקציה, נתונים שקשורה למחזור החיים של האפליקציה (כמו שעת ההתחלה של האפליקציה), וגם נתונים עבור בקשות רשת HTTP/S.

שימוש ב-Swift Package Manager כדי להתקין ולנהל יחסי תלות של Firebase.

  1. ב-Xcode, כשפרויקט האפליקציה פתוח, עוברים אל File > (קובץ >) הוספת חבילות.
  2. כשמופיעה בקשה, מוסיפים את מאגר ה-SDK של מוצרי הפלטפורמה של Firebase של Apple:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. בוחרים את הספרייה Performance Monitoring.
  5. מוסיפים את הדגל -ObjC לקטע סימונים של מקשר אחר בהגדרות ה-build של היעד.
  6. בסיום, Xcode יתחיל לפתור את הבעיה ותוריד את של יחסי התלות ברקע.

לאחר מכן, מגדירים את המודול של Firebase:

  1. מייבאים את המודול 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;
    // ...
          
  2. הגדרה של 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];
  3. אם אתה משתמש ב-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()
          }
        }
      }
    }
          
  4. הידור מחדש של האפליקציה.

שלב 2: יוצרים אירועי ביצועים להצגה ראשונית של הנתונים

מערכת Firebase מתחילה לעבד את האירועים אחרי שתוסיפו בהצלחה את ה-SDK אל אפליקציה. אם הפיתוח שלך עדיין מקומי, אפשר ליצור אינטראקציה עם האפליקציה כדי ליצור אירועי איסוף ועיבוד ראשוניים של נתונים.

  1. ממשיכים לפתח את האפליקציה באמצעות סימולטור או מכשיר בדיקה.

  2. כדי ליצור אירועים, אפשר להעביר את האפליקציה בין הרקע לחזית כמה פעמים, לקיים אינטראקציה עם האפליקציה על ידי ניווט בין מסכים ו/או מפעיל בקשות רשת.

  3. עוברים אל לוח הבקרה לביצועים במסוף Firebase. הנתונים הראשוניים אמורים להופיע בתוך כמה דקות.

    אם אינך רואה את התצוגה של הנתונים הראשוניים, אפשר לעיין בפתרון בעיות טיפים בנושא.

שלב 3: (אופציונלי) הצגת הודעות ביומן לגבי אירועי ביצועים

  1. מפעילים רישום ביומן של ניפוי באגים באופן הבא:

    1. ב-Xcode (גרסה 15.2 לפחות), בוחרים באפשרות Product > סכמה > עריכת הסכמה.
    2. בתפריט הימני, בוחרים באפשרות הפעלה ולאחר מכן בוחרים בכרטיסייה ארגומנטים.
    3. בקטע ארגומנטים שהועברו בהפעלה, מוסיפים -FIRDebugEnabled.
  2. בודקים אם יש הודעות שגיאה ביומן.

  3. Performance Monitoring מתייג את הודעות היומן שלו באמצעות Firebase/Performance כדי שתוכלו לסנן את הודעות היומן.

  4. מחפשים את סוגי היומנים הבאים שמעידים על כך ש-Performance Monitoring מתעד אירועי ביצועים:

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. לוחצים על כתובת ה-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 יוצגו זמני חיבור ארוכים מהצפוי. החיבורים האלה לאחר ביצוע מחוץ לתהליך, והתזמונים משקפים אירועי קריאה חוזרת (callback) בתהליך.

השלבים הבאים