أثناء تطوير التطبيق واختباره ، قد تجد أنه من المفيد تعطيل مراقبة الأداء.
على سبيل المثال ، من خلال تعطيل مراقبة الأداء أثناء عملية إنشاء التطبيق ، يمكنك:
قم بتعطيل وظائف معينة لمراقبة الأداء (مثل تلك التي يوفرها المكون الإضافي لمراقبة الأداء Gradle ) في تصميمات تصحيح الأخطاء ، ولكن أعد تمكين الوظائف لبناء الإصدار الخاص بك.
قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولكن اسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.
قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولا تسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.
يمكنك أيضًا إنشاء تطبيقك مع تمكين مراقبة الأداء ، ولكن استخدم Firebase Remote Config لمنحك المرونة لتعطيل (وإعادة تمكين) مراقبة الأداء في تطبيق الإنتاج الخاص بك. باستخدام هذا الخيار ، يمكنك أيضًا تكوين تطبيقك للسماح للمستخدمين بالاشتراك أو إلغاء الاشتراك باستخدام مراقبة الأداء.
تعطيل مراقبة الأداء أثناء عملية بناء التطبيق الخاص بك
يمكنك تعطيل مراقبة الأداء أثناء عملية الإنشاء عن طريق تعطيل المكوّن الإضافي لمراقبة الأداء Gradle و / أو تعطيل مكتبة Android لمراقبة الأداء .
أثناء التطوير وتصحيح الأخطاء ، يكون تعطيل المكون الإضافي مفيدًا لأن الأجهزة بواسطة المكون الإضافي يمكن أن تساهم في زيادة وقت الإنشاء. ومع ذلك ، قد تفكر في الاحتفاظ بالمكتبة ممكّنة بحيث لا يزال بإمكانك عرض بيانات الأداء من بدء التطبيق ، والتطبيق في المقدمة ، وآثار التطبيق في الخلفية بالإضافة إلى أي آثار رمز مخصص في تطبيقك.
تعطيل البرنامج المساعد Gradle لمراقبة الأداء
يمكنك تعطيل المكون الإضافي لمراقبة الأداء عن طريق إضافة علامة instrumentationEnabled
باستخدام الخيارات التالية:
خاصية الامتداد - تعطيل المكون الإضافي لمتغير بناء معين في وقت الترجمة
خاصية المشروع - تعطيل البرنامج المساعد لجميع متغيرات البناء في وقت الترجمة
قم بتعطيل المكون الإضافي عبر علامة خاصية الامتداد
باستخدام علامة خاصية الامتدادات ، يمكنك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين في وقت الترجمة.
في ملف
build.gradle
على مستوى الجذر (مستوى المشروع) ، تأكد من تحديد تبعية البرنامج المساعد لـ Android Gradle على أنه v3.4.0 أو إصدار أحدث.بالنسبة للإصدارات السابقة من Android Gradle Plugin ، لا يزال بإمكانك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين ، ولكن لن يتم التخلص تمامًا من المساهمة في وقت الإنشاء لهذا المتغير.
أضف العلامة التالية إلى ملف
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 .
تأكد من وجود Remote Config في قسم
dependencies
في ملف Gradle للوحدة النمطية (عادةًapp/build.gradle
):implementation 'com.google.firebase:firebase-config:21.2.1'
قم بإعداد 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 } } });
أضف التعليمات البرمجية التالية إلى
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 } } });
لتعطيل مراقبة الأداء في وحدة تحكم Firebase ، أنشئ معلمة perf_disable في مشروع تطبيقك ، ثم اضبط قيمتها على
true
.سيؤدي هذا التغيير إلى إجراء مكالمات إلى استدعاءات "بلا عملية" (NOOPs) الخاصة بمراقبة الأداء ، مما يلغي أي تأثيرات مهمة على أداء التطبيق من خلال استخدام SDK لمراقبة الأداء في تطبيقك.
إذا قمت بتعيين قيمة perf_disable على
false
، تظل مراقبة الأداء ممكَّنة.
أثناء تطوير التطبيق واختباره ، قد تجد أنه من المفيد تعطيل مراقبة الأداء.
على سبيل المثال ، من خلال تعطيل مراقبة الأداء أثناء عملية إنشاء التطبيق ، يمكنك:
قم بتعطيل وظائف معينة لمراقبة الأداء (مثل تلك التي يوفرها المكون الإضافي لمراقبة الأداء Gradle ) في تصميمات تصحيح الأخطاء ، ولكن أعد تمكين الوظائف لبناء الإصدار الخاص بك.
قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولكن اسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.
قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولا تسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.
يمكنك أيضًا إنشاء تطبيقك مع تمكين مراقبة الأداء ، ولكن استخدم Firebase Remote Config لمنحك المرونة لتعطيل (وإعادة تمكين) مراقبة الأداء في تطبيق الإنتاج الخاص بك. باستخدام هذا الخيار ، يمكنك أيضًا تكوين تطبيقك للسماح للمستخدمين بالاشتراك أو إلغاء الاشتراك باستخدام مراقبة الأداء.
تعطيل مراقبة الأداء أثناء عملية بناء التطبيق الخاص بك
يمكنك تعطيل مراقبة الأداء أثناء عملية الإنشاء عن طريق تعطيل المكوّن الإضافي لمراقبة الأداء Gradle و / أو تعطيل مكتبة Android لمراقبة الأداء .
أثناء التطوير وتصحيح الأخطاء ، يكون تعطيل المكون الإضافي مفيدًا لأن الأجهزة بواسطة المكون الإضافي يمكن أن تساهم في زيادة وقت الإنشاء. ومع ذلك ، قد تفكر في الاحتفاظ بالمكتبة ممكّنة بحيث لا يزال بإمكانك عرض بيانات الأداء من بدء التطبيق ، والتطبيق في المقدمة ، وآثار التطبيق في الخلفية بالإضافة إلى أي آثار رمز مخصص في تطبيقك.
تعطيل البرنامج المساعد Gradle لمراقبة الأداء
يمكنك تعطيل المكون الإضافي لمراقبة الأداء عن طريق إضافة علامة instrumentationEnabled
باستخدام الخيارات التالية:
خاصية الامتداد - تعطيل المكون الإضافي لمتغير بناء معين في وقت الترجمة
خاصية المشروع - تعطيل البرنامج المساعد لجميع متغيرات البناء في وقت الترجمة
قم بتعطيل المكون الإضافي عبر علامة خاصية الامتداد
باستخدام علامة خاصية الامتدادات ، يمكنك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين في وقت الترجمة.
في ملف
build.gradle
على مستوى الجذر (مستوى المشروع) ، تأكد من تحديد تبعية البرنامج المساعد لـ Android Gradle على أنه v3.4.0 أو إصدار أحدث.بالنسبة للإصدارات السابقة من Android Gradle Plugin ، لا يزال بإمكانك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين ، ولكن لن يتم التخلص تمامًا من المساهمة في وقت الإنشاء لهذا المتغير.
أضف العلامة التالية إلى ملف
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 .
تأكد من وجود Remote Config في قسم
dependencies
في ملف Gradle للوحدة النمطية (عادةًapp/build.gradle
):implementation 'com.google.firebase:firebase-config:21.2.1'
قم بإعداد 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 } } });
أضف التعليمات البرمجية التالية إلى
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 } } });
لتعطيل مراقبة الأداء في وحدة تحكم Firebase ، أنشئ معلمة perf_disable في مشروع تطبيقك ، ثم اضبط قيمتها على
true
.سيؤدي هذا التغيير إلى إجراء مكالمات إلى استدعاءات "بلا عملية" (NOOPs) الخاصة بمراقبة الأداء ، مما يلغي أي تأثيرات مهمة على أداء التطبيق من خلال استخدام SDK لمراقبة الأداء في تطبيقك.
إذا قمت بتعيين قيمة perf_disable على
false
، تظل مراقبة الأداء ممكَّنة.
أثناء تطوير التطبيق واختباره ، قد تجد أنه من المفيد تعطيل مراقبة الأداء.
على سبيل المثال ، من خلال تعطيل مراقبة الأداء أثناء عملية إنشاء التطبيق ، يمكنك:
قم بتعطيل وظائف معينة لمراقبة الأداء (مثل تلك التي يوفرها المكون الإضافي لمراقبة الأداء Gradle ) في تصميمات تصحيح الأخطاء ، ولكن أعد تمكين الوظائف لبناء الإصدار الخاص بك.
قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولكن اسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.
قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولا تسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.
يمكنك أيضًا إنشاء تطبيقك مع تمكين مراقبة الأداء ، ولكن استخدم Firebase Remote Config لمنحك المرونة لتعطيل (وإعادة تمكين) مراقبة الأداء في تطبيق الإنتاج الخاص بك. باستخدام هذا الخيار ، يمكنك أيضًا تكوين تطبيقك للسماح للمستخدمين بالاشتراك أو إلغاء الاشتراك باستخدام مراقبة الأداء.
تعطيل مراقبة الأداء أثناء عملية بناء التطبيق الخاص بك
يمكنك تعطيل مراقبة الأداء أثناء عملية الإنشاء عن طريق تعطيل المكوّن الإضافي لمراقبة الأداء Gradle و / أو تعطيل مكتبة Android لمراقبة الأداء .
أثناء التطوير وتصحيح الأخطاء ، يكون تعطيل المكون الإضافي مفيدًا لأن الأجهزة بواسطة المكون الإضافي يمكن أن تساهم في زيادة وقت الإنشاء. ومع ذلك ، قد تفكر في الاحتفاظ بالمكتبة ممكّنة بحيث لا يزال بإمكانك عرض بيانات الأداء من بدء التطبيق ، والتطبيق في المقدمة ، وآثار التطبيق في الخلفية بالإضافة إلى أي آثار رمز مخصص في تطبيقك.
تعطيل البرنامج المساعد Gradle لمراقبة الأداء
يمكنك تعطيل المكون الإضافي لمراقبة الأداء عن طريق إضافة علامة instrumentationEnabled
باستخدام الخيارات التالية:
خاصية الامتداد - تعطيل المكون الإضافي لمتغير بناء معين في وقت الترجمة
خاصية المشروع - تعطيل البرنامج المساعد لجميع متغيرات البناء في وقت الترجمة
قم بتعطيل المكون الإضافي عبر علامة خاصية الامتداد
باستخدام علامة خاصية الامتدادات ، يمكنك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين في وقت الترجمة.
في ملف
build.gradle
على مستوى الجذر (مستوى المشروع) ، تأكد من تحديد تبعية البرنامج المساعد لـ Android Gradle على أنه v3.4.0 أو إصدار أحدث.بالنسبة للإصدارات السابقة من Android Gradle Plugin ، لا يزال بإمكانك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين ، ولكن لن يتم التخلص تمامًا من المساهمة في وقت الإنشاء لهذا المتغير.
أضف العلامة التالية إلى ملف
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 .
Ensure that Remote Config is in the
dependencies
section of your module Gradle file (usuallyapp/build.gradle
):implementation 'com.google.firebase:firebase-config:21.2.1'
Set up Remote Config and disable Performance Monitoring if
perf_disable
is set totrue
: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 } } });
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 } } });
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.