התחל עם ניטור ביצועים עבור אנדרואיד

לפני שאתה מתחיל

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

שלב 1 : הוסף את ה-SDK לניטור ביצועים לאפליקציה שלך

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

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

    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:32.7.4"))
    
        // 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 , האפליקציה שלך תמיד תשתמש בגרסאות תואמות של ספריות Firebase Android.

    (אלטרנטיבי) הוסף תלות בספריית 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:20.5.2")
    }
    
    מחפש מודול ספרייה ספציפי לקוטלין? החל מאוקטובר 2023 (Firebase BoM 32.5.0) , מפתחי Kotlin ו-Java יכולים להיות תלויים במודול הספרייה הראשי (לפרטים, עיין בשאלות הנפוצות לגבי יוזמה זו ).

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

שלב 2 : הוסף את הפלאגין Gradle לניטור ביצועים לאפליקציה שלך

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

  1. בקובץ Gradle ברמת השורש (ברמת הפרויקט) ( <project>/build.gradle.kts או <project>/build.gradle ), הוסף את הפלאגין 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.1" 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.1' 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 ), הוסף את הפלאגין 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. אפשר רישום באגים עבור ניטור ביצועים בזמן הבנייה על ידי הוספת רכיב <meta-data> לקובץ AndroidManifest.xml של האפליקציה שלך, כך:

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

  3. ניטור ביצועים מתייג את הודעות היומן שלו באמצעות FirebasePerformance . באמצעות סינון logcat, אתה יכול להציג ספציפית מעקב אחר משך ורישום בקשות רשת HTTP/S על ידי הפעלת הפקודה הבאה:

    adb logcat -s FirebasePerformance
  4. בדוק את סוגי היומנים הבאים שמציינים שניטור ביצועים רושם אירועי ביצועים:

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

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

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

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

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

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

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

שלב 6 : פרוס את האפליקציה שלך ואז סקור את התוצאות

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

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

בעיות ידועות

  • התוסף Gradle לניטור ביצועים v1.1.0 עלול לגרום לאי התאמה בתלות של גויאבה, וכתוצאה מכך לשגיאה הבאה:

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

    אם אתה רואה שגיאה זו, אתה יכול:

    • שדרג את הפלאגין לניטור ביצועים לגרסה 1.1.1 ואילך (החדש ביותר הוא v1.4.2).

    • החלף את שורת התלות של הפלאגין לניטור ביצועים בקובץ 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'
          }
        }
      }
      
  • ניטור ביצועים מדווח על גודל המטען הכולל עבור בקשות רשת HTTP בהתבסס על הערך שהוגדר בכותרת אורך תוכן HTTP. ייתכן שהערך הזה לא תמיד מדויק.

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

הצעדים הבאים