תחילת השימוש ב-Performance Monitoring ל-Android

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

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

שלב 1: הוספה של ה-SDK של Performance Monitoring לאפליקציה

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

  1. בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle.kts או <project>/<app-module>/build.gradle), מוסיפים את התלות בספריית Performance Monitoring ל-Android. מומלץ להשתמש Firebase Android BoM כדי לשלוט בניהול גרסאות של ספריות.

    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:33.2.0"))
    
        // Add the dependency for the Performance Monitoring library
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation("com.google.firebase:firebase-perf")
    }

    באמצעות Firebase Android BoM, האפליקציה שלכם תשתמש תמיד בגרסאות תואמות של ספריות Android של Firebase.

    (חלופית)  מוסיפים יחסי תלות לספריות של Firebase בלי להשתמש ב-BoM

    אם בוחרים שלא להשתמש במאפיין Firebase BoM, צריך לציין כל גרסה של ספריית Firebase בשורת התלות שלו.

    שימו לב: אם האפליקציה שלכם משתמשת במספר ספריות של Firebase, מומלץ מומלץ להשתמש בפקודה BoM כדי לנהל גרסאות של ספריות, וכך להבטיח שכל הגרסאות תואמת.

    dependencies {
        // Add the dependency for the Performance Monitoring library
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation("com.google.firebase:firebase-perf:21.0.1")
    }
    מחפשים מודול ספרייה ספציפי ל-Kotlin? מתחיל בעוד אוקטובר 2023 (Firebase BoM 32.5.0), גם מפתחי Kotlin וגם מפתחי Java יכולים תלויות במודול הספרייה הראשי (לקבלת פרטים נוספים, אפשר לעיין שאלות נפוצות על היוזמה).

  2. הידור מחדש של האפליקציה.

שלב 2: הוספה של הפלאגין Performance Monitoring Gradle לאפליקציה

אחרי שמוסיפים את הפלאגין Performance Monitoring Gradle, Firebase מתחיל באופן אוטומטי איסוף נתונים עבור בקשות רשת HTTP/S. גם מאפשר לכם ליצור מעקבי קוד מותאמים אישית באמצעות הערה באמצעות@AddTrace.

  1. בקובץ Gradle ברמת השורש (ברמת הפרויקט) (<project>/build.gradle.kts או <project>/build.gradle), מוסיפים את Performance Monitoring הפלאגין של Gradle:

    Kotlin

    plugins {
        // To benefit from the latest Performance Monitoring plugin features,
        // update your Android Gradle plugin dependency to at least v3.4.0
        id("com.android.application") version "7.3.0" apply false
    
        // Make sure that you have the Google services Gradle plugin dependency
        id("com.google.gms.google-services") version "4.4.2" apply false
    
        // Add the dependency for the Performance Monitoring Gradle plugin
        id("com.google.firebase.firebase-perf") version "1.4.2" apply false
    }

    Groovy

    plugins {
        // To benefit from the latest Performance Monitoring plugin features,
        // update your Android Gradle plugin dependency to at least v3.4.0
        id 'com.android.application' version '7.3.0' apply false
    
        // Make sure that you have the Google services Gradle plugin dependency
        id 'com.google.gms.google-services' version '4.4.2' apply false
    
        // Add the dependency for the Performance Monitoring Gradle plugin
        id 'com.google.firebase.firebase-perf' version '1.4.2' apply false
    }
  2. בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל <project>/<app-module>/build.gradle.kts או <project>/<app-module>/build.gradle), מוסיפים את הפלאגין Performance Monitoring של Gradle:

    Kotlin

    plugins {
        id("com.android.application")
    
        // Make sure that you have the Google services Gradle plugin
        id("com.google.gms.google-services")
    
        // Add the Performance Monitoring Gradle plugin
        id("com.google.firebase.firebase-perf")
        ...
    }

    Groovy

    plugins {
        id 'com.android.application'
    
        // Make sure that you have the Google services Gradle plugin
        id 'com.google.gms.google-services'
    
        // Add the Performance Monitoring Gradle plugin
        id 'com.google.firebase.firebase-perf'
        ...
    }
  3. הידור מחדש של האפליקציה.

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

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

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

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

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

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

  1. כדי להפעיל רישום ביומן של ניפוי באגים ל-Performance Monitoring בזמן ה-build, צריך להוסיף <meta-data> רכיב לקובץ AndroidManifest.xml של האפליקציה, כך:

    <application>
        <meta-data
          android:name="firebase_performance_logcat_enabled"
          android:value="true" />
    </application>
  2. בודקים אם יש הודעות שגיאה ביומן.

  3. Performance Monitoring מתייג את הודעות היומן שלו באמצעות FirebasePerformance. שימוש ב-Logcat סינון, ניתן להציג באופן ספציפי מעקב אחר משך הזמן ורשת HTTP/S מבקשים רישום ביומן על ידי הרצת הפקודה הבאה:

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

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. לוחצים על כתובת ה-URL כדי להציג את הנתונים במסוף Firebase. יכול להיות שיחלפו כמה רגעים עד שהנתונים יתעדכנו במרכז הבקרה.

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

שלב 5: (אופציונלי) הוספה של מעקב מותאם אישית לקוד ספציפי

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

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

בקוד שלכם, אתם מגדירים את ההתחלה והסוף של מעקב קוד מותאם אישית (ו מוסיפים מדדים מותאמים אישית שרוצים) באמצעות ה-API שסופק על ידי Performance Monitoring SDK. באפליקציות ל-Android, אפשר גם לעקוב אחרי משך הזמן של שיטות ספציפיות באמצעות הערה באמצעות@AddTrace.

הוספת מעקב לקוד ספציפי כדי לקבל מידע נוסף על התכונות האלה ואיך להוסיף אותן לאפליקציה.

שלב 6: פורסים את האפליקציה ובודקים את התוצאות

לאחר האימות של Performance Monitoring באמצעות מכשיר בדיקה אחד או יותר, אפשר לפרוס את הגרסה המעודכנת של האפליקציה למשתמשים.

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

בעיות מוכרות

  • הפלאגין Performance Monitoring Gradle v1.1.0 עלול לגרום לחוסר התאמה ביחסי התלות של Guava, וכתוצאה מכך תופיע השגיאה הבאה:

    Error:Execution failed for task ':app:packageInstantRunResourcesDebug'.
    > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;

    אם השגיאה הזו מופיעה, תוכלו לבצע אחת מהפעולות הבאות:

    • שדרוג הפלאגין Performance Monitoring לגרסה 1.1.1 ואילך (העדכנית ביותר היא גרסה 1.4.2).

    • צריך להחליף את שורת התלות של הפלאגין Performance Monitoring בקובץ ברמת השורש (ברמת הפרויקט) קובץ Gradle (<project>/build.gradle.kts או <project>/build.gradle), באופן הבא:

      Kotlin

      buildscript {
        // ...
      
        dependencies {
          // ...
      
          // Replace the standard Performance Monitoring plugin dependency line, as follows:
          classpath("com.google.firebase:perf-plugin:1.1.0") {
              exclude(group = "com.google.guava", module = "guava-jdk5")
          }
        }
      }

      Groovy

      buildscript {
        // ...
      
        dependencies {
          // ...
      
          // Replace the standard Performance Monitoring plugin dependency line, as follows:
          classpath('com.google.firebase:perf-plugin:1.1.0') {
              exclude group: 'com.google.guava', module: 'guava-jdk5'
          }
        }
      }
  • Performance Monitoring מדווח על הגודל הכולל של המטען הייעודי (payload) של בקשות רשת שמבוססות על HTTP בערך שהוגדר בכותרת אורך התוכן של HTTP. ייתכן שהערך הזה לא תמיד יהיו מדויקים.

  • Performance Monitoring תומך רק בתהליך הראשי באפליקציות ל-Android עם ריבוי תהליכים.

השלבים הבאים