ऐप्लिकेशन डेवलपमेंट और टेस्टिंग के दौरान, आपको परफ़ॉर्मेंस मॉनिटर करने की सुविधा बंद करना मददगार लग सकता है.
उदाहरण के लिए, ऐप्लिकेशन बनाने की प्रोसेस के दौरान परफ़ॉर्मेंस मॉनिटर करने की सुविधा को बंद करके, ये काम किए जा सकते हैं:
अपने डीबग बिल्ड में परफ़ॉर्मेंस मॉनिटर करने की सुविधा की कुछ सुविधाएं बंद करें. जैसे, परफ़ॉर्मेंस मॉनिटरिंग Gradle प्लगिन से मिलने वाली सुविधाएं. हालांकि, अपने रिलीज़ बिल्ड के लिए इन सुविधाओं को फिर से चालू करें.
अपना ऐप्लिकेशन बनाते समय परफ़ॉर्मेंस मॉनिटर करने की सुविधा बंद करें. हालांकि, रनटाइम के दौरान ऐप्लिकेशन को इसे फिर से चालू करने की अनुमति दें.
अपना ऐप्लिकेशन बनाते समय, परफ़ॉर्मेंस मॉनिटर करने की सुविधा बंद करें. साथ ही, रनटाइम के दौरान ऐप्लिकेशन को इसे फिर से चालू न करने दें.
परफ़ॉर्मेंस मॉनिटर करने की सुविधा चालू करके भी ऐप्लिकेशन बनाया जा सकता है. हालांकि, Firebase रिमोट कॉन्फ़िगरेशन का इस्तेमाल करके, अपने प्रोडक्शन ऐप्लिकेशन में परफ़ॉर्मेंस मॉनिटर करने की सुविधा को बंद (और फिर से चालू) किया जा सकता है. इस विकल्प की मदद से, ऐप्लिकेशन को कॉन्फ़िगर भी किया जा सकता है, ताकि उपयोगकर्ता परफ़ॉर्मेंस मॉनिटर करने की सुविधा को ऑप्ट-इन या ऑप्ट-आउट कर सकें.
ऐप्लिकेशन बनाने की प्रोसेस के दौरान परफ़ॉर्मेंस मॉनिटर करने की सुविधा बंद करें
बिल्ड प्रोसेस के दौरान, परफ़ॉर्मेंस मॉनिटर करने वाले Gradle प्लग इन को बंद करके और/या परफ़ॉर्मेंस मॉनिटर करने वाली Android लाइब्रेरी को बंद करके, परफ़ॉर्मेंस मॉनिटर करने की सुविधा को बंद किया जा सकता है.
डेवलपमेंट और डीबग करने के दौरान, प्लग इन को बंद करना फ़ायदेमंद होता है, क्योंकि प्लगिन के मुताबिक निर्देश देने से बिल्ड टाइम बढ़ सकता है. हालांकि, आपके पास लाइब्रेरी चालू रखने का विकल्प होता है, ताकि आप ऐप्लिकेशन स्टार्ट, ऐप्लिकेशन-इन-फ़ोरग्राउंड, और ऐप्लिकेशन-इन-बैकग्राउंड ट्रेस की परफ़ॉर्मेंस का डेटा देख सकें. साथ ही, अपने ऐप्लिकेशन में मौजूद किसी भी कस्टम कोड ट्रेस की परफ़ॉर्मेंस का डेटा भी देख सकें.
परफ़ॉर्मेंस मॉनिटर करने वाले ग्रेडल प्लग इन को बंद करें
इन विकल्पों का इस्तेमाल करके instrumentationEnabled
फ़्लैग जोड़कर, परफ़ॉर्मेंस मॉनिटर करने वाले प्लगिन को बंद किया जा सकता है:
एक्सटेंशन प्रॉपर्टी — कंपाइल करते समय, किसी खास बिल्ड वैरिएंट के लिए प्लगिन को बंद कर देता है
प्रोजेक्ट प्रॉपर्टी — कंपाइल के समय पर, सभी बिल्ड वैरिएंट के लिए प्लगिन को बंद कर देता है
एक्सटेंशन प्रॉपर्टी फ़्लैग के ज़रिए प्लग इन को बंद करें
एक्सटेंशन प्रॉपर्टी फ़्लैग का इस्तेमाल करके, कंपाइल करते समय किसी खास बिल्ड वैरिएंट के लिए, परफ़ॉर्मेंस मॉनिटर करने वाले प्लगिन को बंद किया जा सकता है.
आपके रूट-लेवल (प्रोजेक्ट-लेवल) Gradle फ़ाइल (
<project>/build.gradle.kts
या<project>/build.gradle
) में, पक्का करें कि Android Gradle प्लग इन डिपेंडेंसी, v3.4.0 या इसके बाद के वर्शन के तौर पर दी गई हो.Android Gradle प्लगिन के पुराने वर्शन में, अब भी किसी खास बिल्ड वैरिएंट के लिए परफ़ॉर्मेंस मॉनिटर करने वाले प्लगिन को बंद किया जा सकता है. हालांकि, उस वैरिएंट के लिए बिल्ड के समय का योगदान पूरी तरह से खत्म नहीं होगा.
नीचे दिए गए फ़्लैग को अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की ग्रेडल फ़ाइल (आम तौर पर
<project>/<app-module>/build.gradle.kts
या<project>/<app-module>/build.gradle
) में जोड़ें. इसके बाद, परफ़ॉर्मेंस मॉनिटर करने वाले प्लगिन को बंद करने के लिए, इसेfalse
पर सेट करें.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 } } } }
प्रोजेक्ट प्रॉपर्टी फ़्लैग की मदद से प्लगिन को बंद करें
प्रोजेक्ट प्रॉपर्टी फ़्लैग का इस्तेमाल करके, कंपाइल करते समय सभी बिल्ड वैरिएंट के लिए, परफ़ॉर्मेंस मॉनिटर करने वाले प्लगिन को बंद किया जा सकता है.
अपनी 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 लाइब्रेरी बंद करें
कंपाइल के समय पर, परफ़ॉर्मेंस मॉनिटर करने वाली लाइब्रेरी बंद करने पर, आपके पास यह चुनने का विकल्प होता है कि रनटाइम के दौरान, आपके ऐप्लिकेशन को लाइब्रेरी चालू करने की अनुमति दी जाए या नहीं.
कंपाइल करते समय, लाइब्रेरी को बंद करें. हालांकि, रनटाइम के दौरान अपने ऐप्लिकेशन को इसे चालू करने की अनुमति दें
अपने ऐप्लिकेशन की AndroidManifest.xml
फ़ाइल में, यह <meta-data>
एलिमेंट जोड़ें:
<application> <meta-data android:name="firebase_performance_collection_enabled" android:value="false" /> </application>
कंपाइल करते समय, लाइब्रेरी को बंद करें, लेकिन रनटाइम के दौरान अपने ऐप्लिकेशन को इसे चालू करने की अनुमति न दें
अपने ऐप्लिकेशन की AndroidManifest.xml
फ़ाइल में, यह <meta-data>
एलिमेंट जोड़ें:
<application> <meta-data android:name="firebase_performance_collection_deactivated" android:value="true" /> </application>
रिमोट कॉन्फ़िगरेशन का इस्तेमाल करके, रनटाइम के दौरान अपना ऐप्लिकेशन बंद करें
Firebase रिमोट कॉन्फ़िगरेशन की मदद से अपने ऐप्लिकेशन के काम करने के तरीके और लुक में बदलाव किए जा सकते हैं. इससे, ऐप्लिकेशन के डिप्लॉय किए गए इंस्टेंस में परफ़ॉर्मेंस मॉनिटर करने की सुविधा को बंद करने का बेहतर तरीका मिल जाता है.
अगली बार Android ऐप्लिकेशन के चालू होने पर, परफ़ॉर्मेंस मॉनिटर करने से जुड़े डेटा को इकट्ठा करने की सुविधा बंद करने के लिए, नीचे दिए गए उदाहरण के तौर पर दिए गए कोड का इस्तेमाल करें. Android ऐप्लिकेशन में रिमोट कॉन्फ़िगरेशन इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Android पर Firebase रिमोट कॉन्फ़िगरेशन इस्तेमाल करना लेख पढ़ें.
यह पक्का करें कि रिमोट कॉन्फ़िगरेशन आपके मॉड्यूल (ऐप्लिकेशन-लेवल) के
dependencies
सेक्शन में हो (आम तौर पर<project>/<app-module>/build.gradle.kts
या<project>/<app-module>/build.gradle
):Kotlin+KTX
implementation("com.google.firebase:firebase-config-ktx:22.0.0")
Java
implementation("com.google.firebase:firebase-config:22.0.0")
रिमोट कॉन्फ़िगरेशन सेट अप करें और अगर
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
में इस कोड को जोड़ें: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
पर सेट करें.इस बदलाव से, परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल को "कोई कार्रवाई नहीं" कॉल (NOOP) कॉल कर दिया जाएगा. साथ ही, आपके ऐप्लिकेशन में परफ़ॉर्मेंस मॉनिटर करने वाले SDK टूल का इस्तेमाल करने से, ऐप्लिकेशन की परफ़ॉर्मेंस पर कोई भी अहम असर नहीं पड़ेगा.
अगर perf_disable वैल्यू को
false
पर सेट किया जाता है, तो परफ़ॉर्मेंस मॉनिटर करने की सुविधा चालू रहती है.