ในระหว่างการพัฒนาและทดสอบแอพ คุณอาจพบว่าการปิดใช้งานการตรวจสอบประสิทธิภาพมีประโยชน์
ตัวอย่างเช่น โดย การปิดใช้งานการตรวจสอบประสิทธิภาพระหว่างกระบวนการสร้างแอป คุณสามารถ:
ปิดใช้งานฟังก์ชันบางอย่างของ Performance Monitoring (เช่นที่มีให้โดย ปลั๊กอิน Performance Monitoring Gradle ) ในบิลด์การดีบักของคุณ แต่ให้เปิดใช้งานฟังก์ชันสำหรับบิลด์รีลีสของคุณอีกครั้ง
ปิดใช้งานการตรวจสอบประสิทธิภาพเมื่อสร้างแอปของคุณ แต่อนุญาตให้แอปเปิดใช้งานอีกครั้งเมื่อรันไทม์
ปิดใช้งานการตรวจสอบประสิทธิภาพเมื่อสร้างแอปของคุณ และไม่อนุญาตให้แอปของคุณเปิดใช้งานอีกครั้งเมื่อรันไทม์
คุณยังสามารถสร้างแอปของคุณด้วย Performance Monitoring ที่ เปิดใช้งาน แต่ ใช้ Firebase Remote Config เพื่อให้คุณมีความยืดหยุ่นในการปิดใช้งาน (และเปิดใช้งานอีกครั้ง) การตรวจสอบประสิทธิภาพในแอปที่ใช้งานจริงของคุณ ด้วยตัวเลือกนี้ คุณยังสามารถกำหนดค่าแอปของคุณเพื่อให้ผู้ใช้เลือกเข้าร่วมหรือไม่ใช้การตรวจสอบประสิทธิภาพได้
ตัวยึดตำแหน่ง46ปิดใช้งานการตรวจสอบประสิทธิภาพระหว่างกระบวนการสร้างแอปของคุณ
คุณสามารถปิดใช้งานการตรวจสอบประสิทธิภาพระหว่างกระบวนการสร้างของคุณโดย การปิดใช้งานปลั๊กอิน Performance Monitoring Gradle และ/หรือโดย การปิดใช้งานไลบรารี Android Performance Monitoring
ในระหว่างการพัฒนาและการดีบัก การปิดใช้งานปลั๊กอินนั้นมีประโยชน์ เนื่องจาก การใช้เครื่องมือโดยปลั๊กอิน สามารถเพิ่มเวลาในการสร้างได้ อย่างไรก็ตาม คุณอาจลองเปิดไลบรารี่ไว้เพื่อให้ยังคงดูข้อมูลประสิทธิภาพตั้งแต่การ เริ่มแอป การติดตามแอปในเบื้องหลัง และการติดตามแอปในเบื้องหลัง ตลอดจนการ ติดตามโค้ดที่กำหนดเอง ในแอปของคุณ
ปิดใช้งานปลั๊กอิน Gradle การตรวจสอบประสิทธิภาพ
คุณสามารถปิดใช้งานปลั๊กอิน Performance Monitoring ได้โดยเพิ่มการตั้งค่าสถานะ instrumentationEnabled
โดยใช้ตัวเลือกต่อไปนี้:
คุณสมบัติส่วนขยาย — ปิดใช้งานปลั๊กอินสำหรับตัวแปรบิวด์ เฉพาะ ในเวลาคอมไพล์
คุณสมบัติของโปรเจ็ กต์ — ปิดใช้งานปลั๊กอินสำหรับตัวแปรบิวด์ ทั้งหมด ในเวลาคอมไพล์
ปิดใช้งานปลั๊กอินผ่านแฟล็กคุณสมบัติส่วนขยาย
ด้วยการใช้แฟล็ก คุณสมบัติส่วนขยาย คุณสามารถปิดใช้งานปลั๊กอินการตรวจสอบประสิทธิภาพสำหรับตัวแปรบิลด์ เฉพาะ ในเวลาคอมไพล์
ในไฟล์
build.gradle
ระดับราก (ระดับโปรเจ็กต์) ตรวจสอบให้แน่ใจว่าการพึ่งพา Android Gradle Plugin ของคุณถูกระบุเป็น v3.4.0 หรือใหม่กว่าสำหรับ Android Gradle Plugin เวอร์ชันก่อนหน้า คุณยังคงสามารถปิดใช้งานปลั๊กอินการตรวจสอบประสิทธิภาพสำหรับรุ่นบิลด์เฉพาะได้ แต่การสนับสนุนเวลาบิลด์สำหรับตัวแปรนั้นจะไม่ถูกกำจัดโดยสิ้นเชิง
เพิ่มแฟล็กต่อไปนี้ในไฟล์
build.gradle
ของโมดูล (ระดับแอป) จากนั้นตั้งค่าเป็นfalse
เพื่อปิดใช้งานปลั๊กอิน Performance Monitoringandroid { // ... 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
เพื่อปิดใช้งานปลั๊กอิน Performance Monitoring
// ... // 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 การตรวจสอบประสิทธิภาพ
หากคุณปิดใช้งานไลบรารี Performance Monitoring ณ เวลาคอมไพล์ คุณสามารถเลือกว่าจะอนุญาตให้แอปของคุณเปิดใช้งานไลบรารีขณะรันไทม์หรือไม่
ปิดการใช้งานไลบรารี่ในขณะที่คอมไพล์ แต่อนุญาตให้แอพของคุณเปิดใช้งานที่รันไทม์
เพิ่มองค์ประกอบ <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 ช่วยให้คุณเปลี่ยนแปลงลักษณะการทำงานและรูปลักษณ์ของแอปได้ ดังนั้นจึงเป็นวิธีที่เหมาะเป็นอย่างยิ่งในการปิดใช้การตรวจสอบประสิทธิภาพในอินสแตนซ์ที่ปรับใช้แอปของคุณ
หากต้องการปิดใช้งานการรวบรวมข้อมูลการตรวจสอบประสิทธิภาพในครั้งถัดไปที่แอป Android ของคุณเริ่มทำงาน ให้ใช้โค้ดตัวอย่างที่แสดงด้านล่าง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Remote Config ในแอพ Android โปรดดู Use Firebase Remote Config บน Android
ตรวจสอบให้แน่ใจว่าการกำหนดค่าระยะไกลอยู่ในส่วนการ
dependencies
ของไฟล์ Gradle โมดูลของคุณ (โดยปกติคือapp/build.gradle
):implementation 'com.google.firebase:firebase-config:21.1.1'
ตั้งค่า Remote Config และปิดใช้งาน Performance Monitoring หาก
perf_disable
ถูกตั้งค่าtrue
: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 } } });
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 } }
เพิ่มโค้ดต่อไปนี้ใน
MainActivity.java
เพื่อดึงและเปิดใช้งานค่า Remote Config: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 } } });
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 } }
หากต้องการปิดใช้งาน Performance Monitoring ในคอนโซล Firebase ให้สร้างพารามิเตอร์ perf_disable ในโครงการของแอป จากนั้นตั้งค่า
true
การเปลี่ยนแปลงนี้จะทำให้การเรียกใช้ Performance Monitoring SDK "ไม่มีการดำเนินการ" (NOOPs) ขจัดผลกระทบที่มีนัยสำคัญต่อประสิทธิภาพของแอปจากการใช้ Performance Monitoring SDK ในแอปของคุณ
หากคุณตั้งค่า perf_disable
false
การมอนิเตอร์ประสิทธิภาพจะยังคงเปิดใช้งานอยู่