أثناء تطوير التطبيق واختباره ، قد تجد أنه من المفيد تعطيل مراقبة الأداء.
على سبيل المثال ، من خلال تعطيل مراقبة الأداء أثناء عملية إنشاء التطبيق ، يمكنك:
قم بتعطيل وظائف معينة لمراقبة الأداء (مثل تلك التي يوفرها المكون الإضافي لمراقبة الأداء Gradle ) في تصميمات تصحيح الأخطاء ، ولكن أعد تمكين الوظائف لبناء الإصدار الخاص بك.
قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولكن اسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.
قم بتعطيل مراقبة الأداء عند إنشاء تطبيقك ، ولا تسمح لتطبيقك بإعادة تمكينه في وقت التشغيل.
يمكنك أيضًا إنشاء تطبيقك مع تمكين مراقبة الأداء ، ولكن استخدم Firebase Remote Config لمنحك المرونة لتعطيل (وإعادة تمكين) مراقبة الأداء في تطبيق الإنتاج الخاص بك. باستخدام هذا الخيار ، يمكنك أيضًا تكوين تطبيقك للسماح للمستخدمين بالاشتراك أو إلغاء الاشتراك باستخدام مراقبة الأداء.
تعطيل مراقبة الأداء أثناء عملية بناء التطبيق الخاص بك
يمكنك تعطيل مراقبة الأداء أثناء عملية الإنشاء عن طريق تعطيل المكوّن الإضافي لمراقبة الأداء Gradle و / أو تعطيل مكتبة Android لمراقبة الأداء .
أثناء التطوير وتصحيح الأخطاء ، يكون تعطيل المكون الإضافي مفيدًا لأن الأجهزة بواسطة المكون الإضافي يمكن أن تساهم في زيادة وقت الإنشاء. ومع ذلك ، قد تفكر في الاحتفاظ بالمكتبة ممكّنة بحيث لا يزال بإمكانك عرض بيانات الأداء من بدء التطبيق ، والتطبيق في المقدمة ، وآثار التطبيق في الخلفية بالإضافة إلى أي آثار رمز مخصص في تطبيقك.
تعطيل البرنامج المساعد Gradle لمراقبة الأداء
يمكنك تعطيل المكون الإضافي لمراقبة الأداء عن طريق إضافة علامة instrumentationEnabled
باستخدام الخيارات التالية:
خاصية الامتداد - تعطيل المكون الإضافي لمتغير بناء معين في وقت الترجمة
خاصية المشروع - تعطيل البرنامج المساعد لجميع متغيرات البناء في وقت الترجمة
قم بتعطيل المكون الإضافي عبر علامة خاصية الامتداد
باستخدام علامة خاصية الامتدادات ، يمكنك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين في وقت الترجمة.
في ملف Gradle على مستوى الجذر (على مستوى المشروع) (
<project>/build.gradle.kts
أو<project>/build.gradle
) ، تأكد من تحديد تبعية Android Gradle Plugin على أنها v3.4.0 أو أحدث.بالنسبة للإصدارات السابقة من Android Gradle Plugin ، لا يزال بإمكانك تعطيل المكون الإضافي لمراقبة الأداء لمتغير بناء معين ، ولكن لن يتم التخلص تمامًا من المساهمة في وقت الإنشاء لهذا المتغير.
أضف العلامة التالية إلى ملف Gradle (على مستوى التطبيق) للوحدة النمطية الخاصة بك (عادةً ما يكون
<project>/<app-module>/build.gradle.kts
أو<project>/<app-module>/build.gradle
) ، ثم قم بتعيينه tofalse
لتعطيل المكون الإضافي لمراقبة الأداء.Kotlin
import com.google.firebase.perf.plugin.FirebasePerfExtension // ... android { // ... buildTypes { getByName("debug") { configure<FirebasePerfExtension> { // 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. setInstrumentationEnabled(false) } } } }
Groovy
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 (عادةً ما يكون<project>/<app-module>/build.gradle.kts
أو<project>/<app-module>/build.gradle
):Kotlin+KTX
implementation("com.google.firebase:firebase-config-ktx:21.4.1")
Java
implementation("com.google.firebase:firebase-config:21.4.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
، تظل مراقبة الأداء ممكَّنة.