Firebase is back at Google I/O on May 10! Register now

تعطيل مراقبة أداء Firebase

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

أثناء تطوير التطبيق واختباره ، قد تجد أنه من المفيد تعطيل مراقبة الأداء.

على سبيل المثال ، من خلال تعطيل مراقبة الأداء أثناء عملية إنشاء التطبيق ، يمكنك:

  • قم بتعطيل وظائف معينة لمراقبة الأداء (مثل تلك التي يوفرها المكون الإضافي لمراقبة الأداء Gradle ) في تصميمات تصحيح الأخطاء ، ولكن أعد تمكين الوظائف لبناء الإصدار الخاص بك.

  • قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولكن اسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.

  • قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولا تسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.

يمكنك أيضًا إنشاء تطبيقك مع تمكين مراقبة الأداء ، ولكن استخدم Firebase Remote Config لمنحك المرونة لتعطيل (وإعادة تمكين) مراقبة الأداء في تطبيق الإنتاج الخاص بك. باستخدام هذا الخيار ، يمكنك أيضًا تكوين تطبيقك للسماح للمستخدمين بالاشتراك أو إلغاء الاشتراك باستخدام مراقبة الأداء.

تعطيل مراقبة الأداء أثناء عملية بناء التطبيق الخاص بك

يمكنك تعطيل مراقبة الأداء أثناء عملية الإنشاء عن طريق تعطيل المكوّن الإضافي لمراقبة الأداء Gradle و / أو تعطيل مكتبة Android لمراقبة الأداء .

أثناء التطوير وتصحيح الأخطاء ، يكون تعطيل المكون الإضافي مفيدًا لأن الأجهزة بواسطة المكون الإضافي يمكن أن تساهم في زيادة وقت الإنشاء. ومع ذلك ، قد تفكر في الاحتفاظ بالمكتبة ممكّنة بحيث لا يزال بإمكانك عرض بيانات الأداء من بدء التطبيق ، والتطبيق في المقدمة ، وآثار التطبيق في الخلفية بالإضافة إلى أي آثار رمز مخصص في تطبيقك.

تعطيل البرنامج المساعد Gradle لمراقبة الأداء

يمكنك تعطيل المكون الإضافي لمراقبة الأداء عن طريق إضافة علامة instrumentationEnabled باستخدام الخيارات التالية:

  • خاصية الامتداد - تعطيل المكون الإضافي لمتغير بناء معين في وقت الترجمة

  • خاصية المشروع - تعطيل البرنامج المساعد لجميع متغيرات البناء في وقت الترجمة

قم بتعطيل المكون الإضافي عبر علامة خاصية الامتداد

باستخدام علامة خاصية الامتدادات ، يمكنك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين في وقت الترجمة.

  1. في ملف build.gradle على مستوى الجذر (مستوى المشروع) ، تأكد من تحديد تبعية البرنامج المساعد لـ Android Gradle على أنه v3.4.0 أو إصدار أحدث.

    بالنسبة للإصدارات السابقة من Android Gradle Plugin ، لا يزال بإمكانك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين ، ولكن لن يتم التخلص تمامًا من المساهمة في وقت الإنشاء لهذا المتغير.

  2. أضف العلامة التالية إلى ملف build.gradle الوحدة النمطية (مستوى التطبيق) ، ثم اضبطه على false لتعطيل المكون الإضافي لمراقبة الأداء.

    android {
      // ...
      buildTypes {
        debug {
          FirebasePerformance {
            // Set this flag to 'false' to disable @AddTrace annotation processing and
            // automatic monitoring of HTTP/S network requests
            // for a specific build variant at compile time.
            instrumentationEnabled false
          }
        }
      }
    }
    

قم بتعطيل المكون الإضافي عبر علامة خاصية المشروع

باستخدام علامة Project Property ، يمكنك تعطيل المكون الإضافي لمراقبة الأداء لجميع متغيرات الإنشاء في وقت الترجمة.

أضف العلامة التالية إلى ملف gradle.properties الخاص بك ، ثم اضبطه على false لتعطيل المكون الإضافي لمراقبة الأداء.

// ...

// Set this flag to 'false' to disable @AddTrace annotation processing and
// automatic monitoring of HTTP/S network requests
// for all build variants at compile time.
firebasePerformanceInstrumentationEnabled=false

قم بتعطيل مكتبة Android لمراقبة الأداء

إذا قمت بتعطيل مكتبة مراقبة الأداء في وقت الترجمة ، يمكنك اختيار ما إذا كنت ستسمح لتطبيقك بتمكين المكتبة في وقت التشغيل.

قم بتعطيل المكتبة في وقت الترجمة ، ولكن اسمح لتطبيقك بتمكينها في وقت التشغيل

أضف عنصر <meta-data> التالي إلى ملف AndroidManifest.xml الخاص بتطبيقك:

  <application>
    <meta-data
      android:name="firebase_performance_collection_enabled"
      android:value="false" />
  </application>

قم بتعطيل المكتبة في وقت الترجمة ، لكن لا تسمح لتطبيقك بتمكينها في وقت التشغيل

أضف عنصر <meta-data> التالي إلى ملف AndroidManifest.xml الخاص بتطبيقك:

  <application>
    <meta-data
      android:name="firebase_performance_collection_deactivated"
      android:value="true" />
  </application>

قم بتعطيل التطبيق الخاص بك في وقت التشغيل باستخدام Remote Config

يتيح لك Firebase Remote Config إجراء تغييرات على سلوك ومظهر تطبيقك ، لذا فهو يوفر طريقة مثالية للسماح لك بتعطيل مراقبة الأداء في الحالات المنشورة لتطبيقك.

لتعطيل جمع بيانات مراقبة الأداء في المرة التالية التي يبدأ فيها تطبيق Android ، استخدم مثال الرمز الموضح أدناه. لمزيد من المعلومات حول استخدام Remote Config في تطبيق Android ، راجع استخدام Firebase Remote Config على Android .

  1. تأكد من وجود Remote Config في قسم dependencies في ملف Gradle للوحدة النمطية (عادةً app/build.gradle ):

    implementation 'com.google.firebase:firebase-config:21.2.1'
    
  2. قم بإعداد Remote Config وتعطيل مراقبة الأداء إذا تم تعيين perf_disable على true :

    Kotlin+KTX

    // Setup remote config
    val config = Firebase.remoteConfig
    
    // You can uncomment the following two statements to permit more fetches when
    // validating your app, but you should comment out or delete these lines before
    // distributing your app in production.
    // val configSettings = remoteConfigSettings {
    //     minimumFetchIntervalInSeconds = 3600
    // }
    // config.setConfigSettingsAsync(configSettings)
    // Load in-app defaults from an XML file that sets perf_disable to false until you update
    // values in the Firebase Console
    
    // Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true
    config.setDefaultsAsync(R.xml.remote_config_defaults)
            .addOnCompleteListener { task ->
                if (task.isSuccessful) {
                    Firebase.performance.isPerformanceCollectionEnabled = !config.getBoolean("perf_disable")
                } else {
                    // An error occurred while setting default parameters
                }
            }

    Java

    // Setup remote config
    final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
    
    // You can uncomment the following two statements to permit more fetches when
    // validating your app, but you should comment out or delete these lines before
    // distributing your app in production.
    // FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
    //       .setMinimumFetchIntervalInSeconds(3600)
    //       .build();
    // config.setConfigSettingsAsync(configSettings);
    // Load in-app defaults from an XML file that sets perf_disable to false until you update
    // values in the Firebase Console
    
    //Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true
    config.setDefaultsAsync(R.xml.remote_config_defaults)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
                        if (config.getBoolean("perf_disable")) {
                            FirebasePerformance.getInstance().setPerformanceCollectionEnabled(false);
                        } else {
                            FirebasePerformance.getInstance().setPerformanceCollectionEnabled(true);
                        }
                    } else {
                        // An error occurred while setting default parameters
                    }
                }
            });
  3. أضف التعليمات البرمجية التالية إلى MainActivity.java لجلب قيم Remote Config وتنشيطها:

    Kotlin+KTX

    // Remote Config fetches and activates parameter values from the service
    val config = Firebase.remoteConfig
    config.fetch(3600)
            .continueWithTask { task ->
                if (!task.isSuccessful) {
                    task.exception?.let {
                        throw it
                    }
                }
                config.activate()
            }
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    // Parameter values successfully activated
                    // ...
                } else {
                    // Handle errors
                }
            }

    Java

    //Remote Config fetches and activates parameter values from the service
    final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
    config.fetch(3600)
            .continueWithTask(new Continuation<Void, Task<Boolean>>() {
                @Override
                public Task<Boolean> then(@NonNull Task<Void> task) throws Exception {
                    if (!task.isSuccessful()) {
                        throw task.getException();
                    }
                    return config.activate();
                }
            })
            .addOnCompleteListener(new OnCompleteListener<Boolean>() {
                @Override
                public void onComplete(@NonNull Task<Boolean> task) {
                    if (task.isSuccessful()) {
                        // Parameter values successfully activated
                        // ...
                    } else {
                        // Handle errors
                    }
                }
            });
  4. لتعطيل مراقبة الأداء في وحدة تحكم Firebase ، أنشئ معلمة perf_disable في مشروع تطبيقك ، ثم اضبط قيمتها على true .

    سيؤدي هذا التغيير إلى إجراء مكالمات إلى استدعاءات "بلا عملية" (NOOPs) الخاصة بمراقبة الأداء ، مما يلغي أي تأثيرات مهمة على أداء التطبيق من خلال استخدام SDK لمراقبة الأداء في تطبيقك.

    إذا قمت بتعيين قيمة perf_disable على false ، تظل مراقبة الأداء ممكَّنة.

،

أثناء تطوير التطبيق واختباره ، قد تجد أنه من المفيد تعطيل مراقبة الأداء.

على سبيل المثال ، من خلال تعطيل مراقبة الأداء أثناء عملية إنشاء التطبيق ، يمكنك:

  • قم بتعطيل وظائف معينة لمراقبة الأداء (مثل تلك التي يوفرها المكون الإضافي لمراقبة الأداء Gradle ) في تصميمات تصحيح الأخطاء ، ولكن أعد تمكين الوظائف لبناء الإصدار الخاص بك.

  • قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولكن اسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.

  • قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولا تسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.

يمكنك أيضًا إنشاء تطبيقك مع تمكين مراقبة الأداء ، ولكن استخدم Firebase Remote Config لمنحك المرونة لتعطيل (وإعادة تمكين) مراقبة الأداء في تطبيق الإنتاج الخاص بك. باستخدام هذا الخيار ، يمكنك أيضًا تكوين تطبيقك للسماح للمستخدمين بالاشتراك أو إلغاء الاشتراك باستخدام مراقبة الأداء.

تعطيل مراقبة الأداء أثناء عملية بناء التطبيق الخاص بك

يمكنك تعطيل مراقبة الأداء أثناء عملية الإنشاء عن طريق تعطيل المكوّن الإضافي لمراقبة الأداء Gradle و / أو تعطيل مكتبة Android لمراقبة الأداء .

أثناء التطوير وتصحيح الأخطاء ، يكون تعطيل المكون الإضافي مفيدًا لأن الأجهزة بواسطة المكون الإضافي يمكن أن تساهم في زيادة وقت الإنشاء. ومع ذلك ، قد تفكر في الاحتفاظ بالمكتبة ممكّنة بحيث لا يزال بإمكانك عرض بيانات الأداء من بدء التطبيق ، والتطبيق في المقدمة ، وآثار التطبيق في الخلفية بالإضافة إلى أي آثار رمز مخصص في تطبيقك.

تعطيل البرنامج المساعد Gradle لمراقبة الأداء

يمكنك تعطيل المكون الإضافي لمراقبة الأداء عن طريق إضافة علامة instrumentationEnabled باستخدام الخيارات التالية:

  • خاصية الامتداد - تعطيل المكون الإضافي لمتغير بناء معين في وقت الترجمة

  • خاصية المشروع - تعطيل البرنامج المساعد لجميع متغيرات البناء في وقت الترجمة

قم بتعطيل المكون الإضافي عبر علامة خاصية الامتداد

باستخدام علامة خاصية الامتدادات ، يمكنك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين في وقت الترجمة.

  1. في ملف build.gradle على مستوى الجذر (مستوى المشروع) ، تأكد من تحديد تبعية البرنامج المساعد لـ Android Gradle على أنه v3.4.0 أو إصدار أحدث.

    بالنسبة للإصدارات السابقة من Android Gradle Plugin ، لا يزال بإمكانك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين ، ولكن لن يتم التخلص تمامًا من المساهمة في وقت الإنشاء لهذا المتغير.

  2. أضف العلامة التالية إلى ملف build.gradle الوحدة النمطية (مستوى التطبيق) ، ثم اضبطه على false لتعطيل المكون الإضافي لمراقبة الأداء.

    android {
      // ...
      buildTypes {
        debug {
          FirebasePerformance {
            // Set this flag to 'false' to disable @AddTrace annotation processing and
            // automatic monitoring of HTTP/S network requests
            // for a specific build variant at compile time.
            instrumentationEnabled false
          }
        }
      }
    }
    

قم بتعطيل المكون الإضافي عبر علامة خاصية المشروع

باستخدام علامة Project Property ، يمكنك تعطيل المكون الإضافي لمراقبة الأداء لجميع متغيرات الإنشاء في وقت الترجمة.

أضف العلامة التالية إلى ملف gradle.properties الخاص بك ، ثم اضبطه على false لتعطيل المكون الإضافي لمراقبة الأداء.

// ...

// Set this flag to 'false' to disable @AddTrace annotation processing and
// automatic monitoring of HTTP/S network requests
// for all build variants at compile time.
firebasePerformanceInstrumentationEnabled=false

قم بتعطيل مكتبة Android لمراقبة الأداء

إذا قمت بتعطيل مكتبة مراقبة الأداء في وقت الترجمة ، يمكنك اختيار ما إذا كنت ستسمح لتطبيقك بتمكين المكتبة في وقت التشغيل.

قم بتعطيل المكتبة في وقت الترجمة ، ولكن اسمح لتطبيقك بتمكينها في وقت التشغيل

أضف عنصر <meta-data> التالي إلى ملف AndroidManifest.xml الخاص بتطبيقك:

  <application>
    <meta-data
      android:name="firebase_performance_collection_enabled"
      android:value="false" />
  </application>

قم بتعطيل المكتبة في وقت الترجمة ، لكن لا تسمح لتطبيقك بتمكينها في وقت التشغيل

أضف عنصر <meta-data> التالي إلى ملف AndroidManifest.xml الخاص بتطبيقك:

  <application>
    <meta-data
      android:name="firebase_performance_collection_deactivated"
      android:value="true" />
  </application>

قم بتعطيل التطبيق الخاص بك في وقت التشغيل باستخدام Remote Config

يتيح لك Firebase Remote Config إجراء تغييرات على سلوك ومظهر تطبيقك ، لذا فهو يوفر طريقة مثالية للسماح لك بتعطيل مراقبة الأداء في الحالات المنشورة لتطبيقك.

لتعطيل جمع بيانات مراقبة الأداء في المرة التالية التي يبدأ فيها تطبيق Android ، استخدم مثال الرمز الموضح أدناه. لمزيد من المعلومات حول استخدام Remote Config في تطبيق Android ، راجع استخدام Firebase Remote Config على Android .

  1. تأكد من وجود Remote Config في قسم dependencies في ملف Gradle للوحدة النمطية (عادةً app/build.gradle ):

    implementation 'com.google.firebase:firebase-config:21.2.1'
    
  2. قم بإعداد Remote Config وتعطيل مراقبة الأداء إذا تم تعيين perf_disable على true :

    Kotlin+KTX

    // Setup remote config
    val config = Firebase.remoteConfig
    
    // You can uncomment the following two statements to permit more fetches when
    // validating your app, but you should comment out or delete these lines before
    // distributing your app in production.
    // val configSettings = remoteConfigSettings {
    //     minimumFetchIntervalInSeconds = 3600
    // }
    // config.setConfigSettingsAsync(configSettings)
    // Load in-app defaults from an XML file that sets perf_disable to false until you update
    // values in the Firebase Console
    
    // Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true
    config.setDefaultsAsync(R.xml.remote_config_defaults)
            .addOnCompleteListener { task ->
                if (task.isSuccessful) {
                    Firebase.performance.isPerformanceCollectionEnabled = !config.getBoolean("perf_disable")
                } else {
                    // An error occurred while setting default parameters
                }
            }

    Java

    // Setup remote config
    final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
    
    // You can uncomment the following two statements to permit more fetches when
    // validating your app, but you should comment out or delete these lines before
    // distributing your app in production.
    // FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
    //       .setMinimumFetchIntervalInSeconds(3600)
    //       .build();
    // config.setConfigSettingsAsync(configSettings);
    // Load in-app defaults from an XML file that sets perf_disable to false until you update
    // values in the Firebase Console
    
    //Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true
    config.setDefaultsAsync(R.xml.remote_config_defaults)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
                        if (config.getBoolean("perf_disable")) {
                            FirebasePerformance.getInstance().setPerformanceCollectionEnabled(false);
                        } else {
                            FirebasePerformance.getInstance().setPerformanceCollectionEnabled(true);
                        }
                    } else {
                        // An error occurred while setting default parameters
                    }
                }
            });
  3. أضف التعليمات البرمجية التالية إلى MainActivity.java لجلب قيم Remote Config وتنشيطها:

    Kotlin+KTX

    // Remote Config fetches and activates parameter values from the service
    val config = Firebase.remoteConfig
    config.fetch(3600)
            .continueWithTask { task ->
                if (!task.isSuccessful) {
                    task.exception?.let {
                        throw it
                    }
                }
                config.activate()
            }
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    // Parameter values successfully activated
                    // ...
                } else {
                    // Handle errors
                }
            }

    Java

    //Remote Config fetches and activates parameter values from the service
    final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
    config.fetch(3600)
            .continueWithTask(new Continuation<Void, Task<Boolean>>() {
                @Override
                public Task<Boolean> then(@NonNull Task<Void> task) throws Exception {
                    if (!task.isSuccessful()) {
                        throw task.getException();
                    }
                    return config.activate();
                }
            })
            .addOnCompleteListener(new OnCompleteListener<Boolean>() {
                @Override
                public void onComplete(@NonNull Task<Boolean> task) {
                    if (task.isSuccessful()) {
                        // Parameter values successfully activated
                        // ...
                    } else {
                        // Handle errors
                    }
                }
            });
  4. لتعطيل مراقبة الأداء في وحدة تحكم Firebase ، أنشئ معلمة perf_disable في مشروع تطبيقك ، ثم اضبط قيمتها على true .

    سيؤدي هذا التغيير إلى إجراء مكالمات إلى استدعاءات "بلا عملية" (NOOPs) الخاصة بمراقبة الأداء ، مما يلغي أي تأثيرات مهمة على أداء التطبيق من خلال استخدام SDK لمراقبة الأداء في تطبيقك.

    إذا قمت بتعيين قيمة perf_disable على false ، تظل مراقبة الأداء ممكَّنة.

،

أثناء تطوير التطبيق واختباره ، قد تجد أنه من المفيد تعطيل مراقبة الأداء.

على سبيل المثال ، من خلال تعطيل مراقبة الأداء أثناء عملية إنشاء التطبيق ، يمكنك:

  • قم بتعطيل وظائف معينة لمراقبة الأداء (مثل تلك التي يوفرها المكون الإضافي لمراقبة الأداء Gradle ) في تصميمات تصحيح الأخطاء ، ولكن أعد تمكين الوظائف لبناء الإصدار الخاص بك.

  • قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولكن اسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.

  • قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولا تسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.

يمكنك أيضًا إنشاء تطبيقك مع تمكين مراقبة الأداء ، ولكن استخدم Firebase Remote Config لمنحك المرونة لتعطيل (وإعادة تمكين) مراقبة الأداء في تطبيق الإنتاج الخاص بك. باستخدام هذا الخيار ، يمكنك أيضًا تكوين تطبيقك للسماح للمستخدمين بالاشتراك أو إلغاء الاشتراك باستخدام مراقبة الأداء.

تعطيل مراقبة الأداء أثناء عملية بناء التطبيق الخاص بك

يمكنك تعطيل مراقبة الأداء أثناء عملية الإنشاء عن طريق تعطيل المكوّن الإضافي لمراقبة الأداء Gradle و / أو تعطيل مكتبة Android لمراقبة الأداء .

أثناء التطوير وتصحيح الأخطاء ، يكون تعطيل المكون الإضافي مفيدًا لأن الأجهزة بواسطة المكون الإضافي يمكن أن تساهم في زيادة وقت الإنشاء. ومع ذلك ، قد تفكر في الاحتفاظ بالمكتبة ممكّنة بحيث لا يزال بإمكانك عرض بيانات الأداء من بدء التطبيق ، والتطبيق في المقدمة ، وآثار التطبيق في الخلفية بالإضافة إلى أي آثار رمز مخصص في تطبيقك.

تعطيل البرنامج المساعد Gradle لمراقبة الأداء

يمكنك تعطيل المكون الإضافي لمراقبة الأداء عن طريق إضافة علامة instrumentationEnabled باستخدام الخيارات التالية:

  • خاصية الامتداد - تعطيل المكون الإضافي لمتغير بناء معين في وقت الترجمة

  • خاصية المشروع - تعطيل البرنامج المساعد لجميع متغيرات البناء في وقت الترجمة

قم بتعطيل المكون الإضافي عبر علامة خاصية الامتداد

باستخدام علامة خاصية الامتدادات ، يمكنك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين في وقت الترجمة.

  1. في ملف build.gradle على مستوى الجذر (مستوى المشروع) ، تأكد من تحديد تبعية البرنامج المساعد لـ Android Gradle على أنه v3.4.0 أو إصدار أحدث.

    بالنسبة للإصدارات السابقة من Android Gradle Plugin ، لا يزال بإمكانك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين ، ولكن لن يتم التخلص تمامًا من المساهمة في وقت الإنشاء لهذا المتغير.

  2. أضف العلامة التالية إلى ملف build.gradle الوحدة النمطية (مستوى التطبيق) ، ثم اضبطه على false لتعطيل المكون الإضافي لمراقبة الأداء.

    android {
      // ...
      buildTypes {
        debug {
          FirebasePerformance {
            // Set this flag to 'false' to disable @AddTrace annotation processing and
            // automatic monitoring of HTTP/S network requests
            // for a specific build variant at compile time.
            instrumentationEnabled false
          }
        }
      }
    }
    

قم بتعطيل المكون الإضافي عبر علامة خاصية المشروع

باستخدام علامة Project Property ، يمكنك تعطيل المكون الإضافي لمراقبة الأداء لجميع متغيرات الإنشاء في وقت الترجمة.

أضف العلامة التالية إلى ملف gradle.properties الخاص بك ، ثم اضبطه على false لتعطيل المكون الإضافي لمراقبة الأداء.

// ...

// Set this flag to 'false' to disable @AddTrace annotation processing and
// automatic monitoring of HTTP/S network requests
// for all build variants at compile time.
firebasePerformanceInstrumentationEnabled=false

قم بتعطيل مكتبة Android لمراقبة الأداء

إذا قمت بتعطيل مكتبة مراقبة الأداء في وقت الترجمة ، يمكنك اختيار ما إذا كنت ستسمح لتطبيقك بتمكين المكتبة في وقت التشغيل.

قم بتعطيل المكتبة في وقت الترجمة ، ولكن اسمح لتطبيقك بتمكينها في وقت التشغيل

أضف عنصر <meta-data> التالي إلى ملف AndroidManifest.xml الخاص بتطبيقك:

  <application>
    <meta-data
      android:name="firebase_performance_collection_enabled"
      android:value="false" />
  </application>

قم بتعطيل المكتبة في وقت الترجمة ، لكن لا تسمح لتطبيقك بتمكينها في وقت التشغيل

أضف عنصر <meta-data> التالي إلى ملف AndroidManifest.xml الخاص بتطبيقك:

  <application>
    <meta-data
      android:name="firebase_performance_collection_deactivated"
      android:value="true" />
  </application>

Disable your app at runtime using Remote Config

Firebase Remote Config lets you make changes to the behavior and appearance of your app, so it provides an ideal way to let you disable Performance Monitoring in deployed instances of your app.

To disable Performance Monitoring data collection the next time that your Android app starts, use the example code shown below. For more information about using Remote Config in an Android app, see Use Firebase Remote Config on Android .

  1. Ensure that Remote Config is in the dependencies section of your module Gradle file (usually app/build.gradle ):

    implementation 'com.google.firebase:firebase-config:21.2.1'
    
  2. Set up Remote Config and disable Performance Monitoring if perf_disable is set to true :

    Kotlin+KTX

    // Setup remote config
    val config = Firebase.remoteConfig
    
    // You can uncomment the following two statements to permit more fetches when
    // validating your app, but you should comment out or delete these lines before
    // distributing your app in production.
    // val configSettings = remoteConfigSettings {
    //     minimumFetchIntervalInSeconds = 3600
    // }
    // config.setConfigSettingsAsync(configSettings)
    // Load in-app defaults from an XML file that sets perf_disable to false until you update
    // values in the Firebase Console
    
    // Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true
    config.setDefaultsAsync(R.xml.remote_config_defaults)
            .addOnCompleteListener { task ->
                if (task.isSuccessful) {
                    Firebase.performance.isPerformanceCollectionEnabled = !config.getBoolean("perf_disable")
                } else {
                    // An error occurred while setting default parameters
                }
            }

    Java

    // Setup remote config
    final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
    
    // You can uncomment the following two statements to permit more fetches when
    // validating your app, but you should comment out or delete these lines before
    // distributing your app in production.
    // FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
    //       .setMinimumFetchIntervalInSeconds(3600)
    //       .build();
    // config.setConfigSettingsAsync(configSettings);
    // Load in-app defaults from an XML file that sets perf_disable to false until you update
    // values in the Firebase Console
    
    //Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true
    config.setDefaultsAsync(R.xml.remote_config_defaults)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
                        if (config.getBoolean("perf_disable")) {
                            FirebasePerformance.getInstance().setPerformanceCollectionEnabled(false);
                        } else {
                            FirebasePerformance.getInstance().setPerformanceCollectionEnabled(true);
                        }
                    } else {
                        // An error occurred while setting default parameters
                    }
                }
            });
  3. Add the following code to MainActivity.java to fetch and activate Remote Config values:

    Kotlin+KTX

    // Remote Config fetches and activates parameter values from the service
    val config = Firebase.remoteConfig
    config.fetch(3600)
            .continueWithTask { task ->
                if (!task.isSuccessful) {
                    task.exception?.let {
                        throw it
                    }
                }
                config.activate()
            }
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    // Parameter values successfully activated
                    // ...
                } else {
                    // Handle errors
                }
            }

    Java

    //Remote Config fetches and activates parameter values from the service
    final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
    config.fetch(3600)
            .continueWithTask(new Continuation<Void, Task<Boolean>>() {
                @Override
                public Task<Boolean> then(@NonNull Task<Void> task) throws Exception {
                    if (!task.isSuccessful()) {
                        throw task.getException();
                    }
                    return config.activate();
                }
            })
            .addOnCompleteListener(new OnCompleteListener<Boolean>() {
                @Override
                public void onComplete(@NonNull Task<Boolean> task) {
                    if (task.isSuccessful()) {
                        // Parameter values successfully activated
                        // ...
                    } else {
                        // Handle errors
                    }
                }
            });
  4. To disable Performance Monitoring in the Firebase console, create a perf_disable parameter in your app's project, then set its value to true .

    This change will make calls to the Performance Monitoring SDK "no operation" calls (NOOPs), eliminating any significant effects on app performance from using the Performance Monitoring SDK in your app.

    If you set the value of perf_disable to false , Performance Monitoring remains enabled.